--- rxvt-unicode/src/perl/selection-popup 2006/01/18 11:05:09 1.13 +++ rxvt-unicode/src/perl/selection-popup 2006/03/08 15:43:02 1.19 @@ -21,8 +21,6 @@ () } -our @hook; - sub on_button_press { my ($self, $event) = @_; @@ -58,8 +56,14 @@ }; for ($text) { - $add_button->("rot13" => sub { y/A-Za-z/N-ZA-Mn-za-m/ }); - $add_button->("eval perl expression" => sub { no warnings; $_ = eval $_ }); + /./ + and $add_button->("rot13" => sub { y/A-Za-z/N-ZA-Mn-za-m/ }); + + /./ + and $add_button->("eval perl expression" => sub { no warnings; $_ = eval $_ }); + + /./ + and $add_button->((sprintf "to unicode hex index (%x)", ord) => sub { $_ = sprintf "%x", ord }); /^(\S+):(\d+):?$/ and $add_button->("vi-commands to load '$1'" => sub { s/^(\S+):(\d+):?$/\x1b:e $1\x0d:$2\x0d/ }); @@ -71,9 +75,9 @@ and $add_button->("shell quote" => sub { $_ = "\Q$_" }); /^(http|ftp|telnet|irc|news):\// - and $add_button->("run $self->{browser}" => sub { urxvt::exec_async $self->{browser}, $_ }); + and $add_button->("run $self->{browser}" => sub { $self->exec_async ($self->{browser}, $_) }); - for my $hook (@hook) { + for my $hook (@{ $self->{term}{selection_popup_hook} || [] }) { if (my ($title, $cb) = $hook->($popup)) { $add_button->($title, $cb); }