ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/perl/background
(Generate patch)

Comparing rxvt-unicode/src/perl/background (file contents):
Revision 1.102 by root, Thu Sep 16 20:23:19 2021 UTC vs.
Revision 1.103 by root, Fri Nov 26 18:49:48 2021 UTC

1535 } 1535 }
1536 1536
1537 $expr 1537 $expr
1538} 1538}
1539 1539
1540sub find_resource {
1541 my ($self, $res, $opt) = @_;
1542
1543 my $v = $self->x_resource ($opt);
1544 $v = $self->x_resource ($res) unless defined $v;
1545
1546 $v
1547}
1548
1549sub parse_bgopts {
1550 my ($self) = @_;
1551
1552 my $expr = $self->x_resource ("%.expr");
1553
1554 if (!$expr) {
1555 $self->{bg_opts} = { h_scale => 100, v_scale => 100,
1556 h_align => 50, v_align => 50 };
1557
1558 $self->{bg_opts}{shade} = $self->find_resource ("shading", "sh");
1559 $self->{bg_opts}{tint} = $self->find_resource ("tintColor", "tint");
1560 $self->{bg_opts}{blur} = $self->find_resource ("blurRadius", "blr");
1561 $self->{bg_opts}{root} = $self->find_resource ("transparent", "tr");
1562
1563 $self->old_bg_opts ($self->find_resource ("backgroundPixmap", "pixmap"));
1564 $expr = $self->old_bg_expr;
1565 }
1566
1567 $self->set_expr (parse_expr $expr);
1568 $self->{border} = $self->x_resource_boolean ("%.border");
1569
1570 $MIN_INTERVAL = $self->x_resource ("%.interval");
1571}
1572
1573sub on_start {
1574 my ($self) = @_;
1575
1576 $self->parse_bgopts;
1577
1578 ()
1579}
1580
1540sub on_osc_seq { 1581sub on_osc_seq {
1541 my ($self, $op, $arg) = @_; 1582 my ($self, $op, $arg) = @_;
1542 1583
1584 $op eq "20" or $op eq "706"
1585 or return;
1586
1543 $self->{bg_opts} or return; 1587 $self->{bg_opts}
1544 1588 or $self->parse_bgopts;
1545 $op =~ /^(?:20|705)$/ or return;
1546 1589
1547 if ($op eq "20") { 1590 if ($op eq "20") {
1548 if ($arg eq "?") { 1591 if ($arg eq "?") {
1549 my $h_scale = $self->{bg_opts}->{h_scale}; 1592 my $h_scale = $self->{bg_opts}{h_scale};
1550 my $v_scale = $self->{bg_opts}->{v_scale}; 1593 my $v_scale = $self->{bg_opts}{v_scale};
1551 my $h_align = $self->{bg_opts}->{h_align}; 1594 my $h_align = $self->{bg_opts}{h_align};
1552 my $v_align = $self->{bg_opts}->{v_align}; 1595 my $v_align = $self->{bg_opts}{v_align};
1553 $self->cmd_parse ("\033]2;[${h_scale}x${v_scale}+${h_align}+${v_align}]\007"); 1596 $self->cmd_parse ("\033]2;[${h_scale}x${v_scale}+${h_align}+${v_align}]\007");
1554 } else { 1597 } else {
1555 $self->old_bg_opts ($arg); 1598 $self->old_bg_opts ($arg);
1556 my $expr = $self->old_bg_expr; 1599 my $expr = $self->old_bg_expr;
1557 $self->set_expr (parse_expr $expr) if $expr; 1600 $self->set_expr (parse_expr $expr) if $expr;
1558 } 1601 }
1559 } elsif ($op eq "705") { 1602 } elsif ($op eq "705") {
1560 $self->{bg_opts}->{tint} = $arg; 1603 $self->{bg_opts}{tint} = $arg;
1561 my $expr = $self->old_bg_expr; 1604 my $expr = $self->old_bg_expr;
1562 $self->set_expr (parse_expr $expr) if $expr; 1605 $self->set_expr (parse_expr $expr) if $expr;
1563 } 1606 }
1564 1607
1565 1 1608 1
1566} 1609}
1567 1610
1568sub find_resource {
1569 my ($self, $res, $opt) = @_;
1570
1571 my $v = $self->x_resource ($opt);
1572 $v = $self->x_resource ($res) unless defined $v;
1573
1574 $v
1575}
1576
1577sub on_start {
1578 my ($self) = @_;
1579
1580 my $expr = $self->x_resource ("%.expr");
1581
1582 if (!$expr) {
1583 $self->{bg_opts} = { h_scale => 100, v_scale => 100,
1584 h_align => 50, v_align => 50 };
1585
1586 $self->{bg_opts}{shade} = $self->find_resource ("shading", "sh");
1587 $self->{bg_opts}{tint} = $self->find_resource ("tintColor", "tint");
1588 $self->{bg_opts}{blur} = $self->find_resource ("blurRadius", "blr");
1589 $self->{bg_opts}{root} = $self->find_resource ("transparent", "tr");
1590
1591 $self->old_bg_opts ($self->find_resource ("backgroundPixmap", "pixmap"));
1592 $expr = $self->old_bg_expr;
1593 }
1594
1595 $self->set_expr (parse_expr $expr);
1596 $self->{border} = $self->x_resource_boolean ("%.border");
1597
1598 $MIN_INTERVAL = $self->x_resource ("%.interval");
1599
1600 ()
1601}
1602

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines