… | |
… | |
986 | |
986 | |
987 | return $img |
987 | return $img |
988 | if FOCUS; |
988 | if FOCUS; |
989 | |
989 | |
990 | my $fade = @_ >= 1 ? $_[0] : defined $self->resource ("fade") ? $self->resource ("fade") * 0.01 : 0; |
990 | my $fade = @_ >= 1 ? $_[0] : defined $self->resource ("fade") ? $self->resource ("fade") * 0.01 : 0; |
991 | my $color = @_ >= 2 ? $_[1] : $self->resource ("color+" . urxvt::Color_fade); |
991 | my $color = @_ >= 2 ? $_[1] : $self->resource ("color+" . &urxvt::Color_fade ()); # Color_fade not always available |
992 | |
992 | |
993 | $img = $img->tint ($color) if $color ne "rgb:00/00/00"; |
993 | $img = $img->tint ($color) if $color ne "rgb:00/00/00"; |
994 | $img = $img->muladd (1 - $fade, 0) if $fade; |
994 | $img = $img->muladd (1 - $fade, 0) if $fade; |
995 | |
995 | |
996 | $img |
996 | $img |
… | |
… | |
1448 | } |
1448 | } |
1449 | } |
1449 | } |
1450 | } |
1450 | } |
1451 | |
1451 | |
1452 | # helper function, quote string as perl without allowing |
1452 | # helper function, quote string as perl without allowing |
1453 | # any code execution or other shenanigans. does not |
1453 | # any code execution or other shenanigans. |
1454 | # support binary NULs in string. |
|
|
1455 | sub q0 { |
1454 | sub q0 { |
1456 | (my $str = shift) =~ s/\x00//g; # make sure there really aren't any embedded NULs |
1455 | "qq\x00\Q$_[0]\E\x00" |
1457 | "q\x00$str\x00" |
|
|
1458 | } |
1456 | } |
1459 | |
1457 | |
1460 | sub old_bg_expr { |
1458 | sub old_bg_expr { |
1461 | my ($self) = @_; |
1459 | my ($self) = @_; |
1462 | |
1460 | |
… | |
… | |
1579 | } |
1577 | } |
1580 | |
1578 | |
1581 | sub on_osc_seq { |
1579 | sub on_osc_seq { |
1582 | my ($self, $op, $arg) = @_; |
1580 | my ($self, $op, $arg) = @_; |
1583 | |
1581 | |
1584 | $op eq "20" or $op eq "706" |
1582 | $op eq "20" or $op eq "705" |
1585 | or return; |
1583 | or return; |
1586 | |
1584 | |
1587 | $self->{bg_opts} |
1585 | $self->{bg_opts} |
1588 | or $self->parse_bgopts; |
1586 | or $self->parse_bgopts; |
1589 | |
1587 | |