selection-popup(1) (enabled by default)


Binds a popup menu to Ctrl-Button3 that lets you paste the X selections and either modify or use the internal selection text in various ways (such as uri unescaping, perl evaluation, web-browser starting etc.), depending on content.

Other extensions can extend this popup menu by pushing a code reference onto "@{ $term->{selection_popup_hook} }", which gets called whenever the popup is being displayed.

Its sole argument is the popup menu, which can be modified. The selection is in $_, which can be used to decide whether to add something or not. It should either return nothing or a string and a code reference. The string will be used as button text and the code reference will be called when the button gets activated and should transform $_.

The following will add an entry "a to b" that transforms all "a"s in the selection to "b"s, but only if the selection currently contains any "a"s:

   push @{ $self->{term}{selection_popup_hook} }, sub {
      /a/ ? ("a to b" => sub { s/a/b/g }
          : ()