--- rxvt-unicode/src/perl/option-popup 2006/01/08 00:27:47 1.1 +++ rxvt-unicode/src/perl/option-popup 2006/02/02 00:18:51 1.9 @@ -1,22 +1,35 @@ #! perl +sub on_start { + my ($self) = @_; + + $self->grab_button (2, urxvt::ControlMask); + + () +} + sub on_button_press { my ($self, $event) = @_; - if ($event->{button} == 3 && $event->{state} & urxvt::ControlMask) { - my $popup = $self->popup ($event); + if ($event->{button} == 2 && $event->{state} & urxvt::ControlMask) { + my $popup = $self->popup ($event) + or return 1; + + $popup->add_title ("Options"); + $popup->add_separator; my %unsafe = map +($_ => 1), qw(borderLess console iconic loginShell reverseVideo scrollBar scrollBar_floating scrollBar_right - secondaryScreen transparent utmpInhibit); + secondaryScreen transparent utmpInhibit meta8 + override_redirect); for my $name (sort keys %urxvt::OPTION) { next if $unsafe{$name}; my $optval = $urxvt::OPTION{$name}; - $popup->add_toggle ($name => sub { $self->option ($optval, $_[0]); warn "toggle $optval, $_[0]" }, + $popup->add_toggle ($name => sub { $self->option ($optval, $_[0]) }, $self->option ($optval)); }