… | |
… | |
796 | |
796 | |
797 | # evaluate user expression |
797 | # evaluate user expression |
798 | |
798 | |
799 | my $img = eval { $self->{expr}->() }; |
799 | my $img = eval { $self->{expr}->() }; |
800 | warn $@ if $@;#d# |
800 | warn $@ if $@;#d# |
801 | die if !UNIVERSAL::isa $img, "urxvt::img"; |
801 | die "background-expr did not return an image.\n" if !UNIVERSAL::isa $img, "urxvt::img"; |
802 | |
802 | |
803 | $state->{size_sensitive} = 1 |
803 | $state->{size_sensitive} = 1 |
804 | if $img->repeat_mode != urxvt::RepeatNormal; |
804 | if $img->repeat_mode != urxvt::RepeatNormal; |
805 | |
805 | |
806 | # if the expression is sensitive to external events, prepare reevaluation then |
806 | # if the expression is sensitive to external events, prepare reevaluation then |
… | |
… | |
859 | my ($self) = @_; |
859 | my ($self) = @_; |
860 | |
860 | |
861 | my $expr = $self->x_resource ("%.expr") |
861 | my $expr = $self->x_resource ("%.expr") |
862 | or return; |
862 | or return; |
863 | |
863 | |
|
|
864 | $self->has_render |
|
|
865 | or die "background extension needs RENDER extension 0.10 or higher, ignoring background-expr.\n"; |
|
|
866 | |
864 | $self->set_expr (parse_expr $expr); |
867 | $self->set_expr (parse_expr $expr); |
865 | $self->{border} = $self->x_resource_boolean ("%.border"); |
868 | $self->{border} = $self->x_resource_boolean ("%.border"); |
866 | |
869 | |
867 | $MIN_INTERVAL = $self->x_resource ("%.interval"); |
870 | $MIN_INTERVAL = $self->x_resource ("%.interval"); |
868 | |
871 | |