--- rxvt-unicode/src/perl/option-popup 2006/01/09 00:34:36 1.7 +++ rxvt-unicode/src/perl/option-popup 2006/10/03 12:13:57 1.11 @@ -4,6 +4,8 @@ my ($self) = @_; $self->grab_button (2, urxvt::ControlMask); + + () } sub on_button_press { @@ -19,15 +21,29 @@ my %unsafe = map +($_ => 1), qw(borderLess console iconic loginShell reverseVideo scrollBar scrollBar_floating scrollBar_right - secondaryScreen transparent utmpInhibit meta8); + 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]) }, - $self->option ($optval)); + $popup->add_toggle ($name => $self->option ($optval), + sub { $self->option ($optval, $_[0]) }); + } + + for my $hook (@{ $self->{term}{option_popup_hook} || [] }) { + if (my ($name, $value, $cb) = $hook->($popup)) { + $popup->add_toggle ($name => $value, sub { $cb->($_[0]) }); + } + } + + { + $popup->add_separator; + my $locale = $self->locale; + $locale =~ y/\x20-\x7e//cd; + $popup->add_title ("Locale: $locale"); } $popup->show;