.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "urxvt-option-popup 1"
.TH urxvt-option-popup 1 2023-09-25 9.31 RXVT-UNICODE
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH NAME
option\-popup \- option menu
.SH DESCRIPTION
.IX Header "DESCRIPTION"
Binds a popup menu to Ctrl\-Button2 that lets you toggle (some) options at
runtime.
.PP
Other extensions can extend this popup menu by pushing a code reference
onto \f(CW\*(C`@{ $term\->{option_popup_hook} }\*(C'\fR, which gets called whenever
the popup is being displayed.
.PP
Its sole argument is the popup menu, which can be modified.  It should
either return nothing or a string, the initial boolean value and a code
reference. The string will be used as button text and the code reference
will be called when the toggle changes, with the new boolean value as
first argument.
.PP
The following will add an entry \f(CW\*(C`myoption\*(C'\fR that changes
\&\f(CW\*(C`$self\->{myoption}\*(C'\fR:
.PP
.Vb 3
\&   push @{ $self\->{term}{option_popup_hook} }, sub {
\&      ("my option" => $myoption, sub { $self\->{myoption} = $_[0] })
\&   };
.Ve
