WISH: just for fun, do shade and tint with XRender.
WISH: support tex fonts
-7.1 Thu Jan 19 18:56:55 CET 2006
+7.1 Thu Jan 19 20:25:34 CET 2006
- setuid/setgid operation is now _encouraged_: security has been
improved by moving privileged operations into a separate process
and permanently dropping privileges within the terminal. This
I am using Debian GNU/Linux and have a problem...
The Debian GNU/Linux package of rxvt-unicode in sarge contains large
- patches that considerably change the behaviour of rxvt-unicode.
- Before reporting a bug to the original rxvt-unicode author please
- download and install the genuine version
- (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the
- problem. If you cannot, chances are that the problems are specific
- to Debian GNU/Linux, in which case it should be reported via the
- Debian Bug Tracking System (use "reportbug" to report the bug).
+ patches that considerably change the behaviour of rxvt-unicode (but
+ unfortunately this notice has been removed). Before reporting a bug
+ to the original rxvt-unicode author please download and install the
+ genuine version (<http://software.schmorp.de#rxvt-unicode>) and try
+ to reproduce the problem. If you cannot, chances are that the
+ problems are specific to Debian GNU/Linux, in which case it should
+ be reported via the Debian Bug Tracking System (use "reportbug" to
+ report the bug).
For other problems that also affect the Debian package, you can and
probably should use the Debian BTS, too, because, after all, it's
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
-<p><strong>rxvt-unicode</strong>, version <strong>7.0</strong>, is a colour vt102 terminal
+<p><strong>rxvt-unicode</strong>, version <strong>7.1</strong>, is a colour vt102 terminal
emulator intended as an <em>xterm</em>(1) replacement for users who do not
require features such as Tektronix 4014 emulation and toolkit-style
configurability. As a result, <strong>rxvt-unicode</strong> uses much less swap space --
decorations; resource <strong>borderLess</strong>.
</dd>
<p></p>
+<dt><strong><a name="item__2doverride_2dredirect"><strong>-override-redirect</strong></a></strong><br />
+</dt>
+<dd>
+Compile <em>frills</em>: Sets override-redirect on the window; resource
+<strong>override-redirect</strong>.
+</dd>
+<p></p>
<dt><strong><a name="item__2dsbg"><strong>-sbg</strong></a></strong><br />
</dt>
<dd>
in the entry on <strong>keysym</strong> following.
</dd>
<p></p>
-<dt><strong><a name="item_secondaryscreen_3a_bool"><strong>secondaryScreen:</strong> <em>bool</em></a></strong><br />
+<dt><strong><a name="item_secondaryscreen_3a_boolean"><strong>secondaryScreen:</strong> <em>boolean</em></a></strong><br />
</dt>
<dd>
Turn on/off secondary screen (default enabled).
</dd>
<p></p>
-<dt><strong><a name="item_secondaryscroll_3a_bool"><strong>secondaryScroll:</strong> <em>bool</em></a></strong><br />
+<dt><strong><a name="item_secondaryscroll_3a_boolean"><strong>secondaryScroll:</strong> <em>boolean</em></a></strong><br />
</dt>
<dd>
Turn on/off secondary screen scroll (default enabled). If the this
instead scroll the screen up.
</dd>
<p></p>
-<dt><strong><a name="item_hold_3a_bool"><strong>hold</strong>: <em>bool</em></a></strong><br />
+<dt><strong><a name="item_hold_3a_boolean"><strong>hold</strong>: <em>boolean</em></a></strong><br />
</dt>
<dd>
Turn on/off hold window after exit support. If enabled, rxvt
<dt><strong><a name="item_transient_2dfor_3a_windowid"><strong>transient-for</strong>: <em>windowid</em></a></strong><br />
</dt>
<dd>
-Sets the WM_TRANSIENT_FOR property to the given window iw.
+Compile <em>frills</em>: Sets the WM_TRANSIENT_FOR property to the given window id.
+</dd>
+<p></p>
+<dt><strong><a name="item_override_2dredirect_3a_boolean"><strong>override-redirect</strong>: <em>boolean</em></a></strong><br />
+</dt>
+<dd>
+Compile <em>frills</em>: Sets override-redirect for the terminal window, making
+it almost invisible to window managers; option <strong>-override-redirect</strong>.
</dd>
<p></p></dl>
<p>
<dt><strong><a name="item_geoff_wing__3cgcw_40pobox_2ecom_3e">Geoff Wing <em><a href="mailto:<gcw@pobox.com"><gcw@pobox.com</a></em>></a></strong><br />
</dt>
<dd>
-Rewrote screen display and text selection routines. Project Coordinator
-(changes.txt 2.4.6 - rxvt-unicode)
+Rewrote screen display and text selection routines.
+
+</dd>
+<dd>
+<pre>
+
+Project Coordinator (changes.txt 2.4.6 - rxvt-unicode)</pre>
</dd>
<p></p>
<dt><strong><a name="item_marc_alexander_lehmann__3crxvt_2dunicode_40schmorp">Marc Alexander Lehmann <em><a href="mailto:<rxvt-unicode@schmorp.de"><rxvt-unicode@schmorp.de</a></em>></a></strong><br />
</dt>
<dd>
-Forked rxvt-unicode, rewrote most of the display code and internal
-character handling to store text in unicode, improve xterm
-compatibility and apply numerous other bugfixes and extensions.
+Forked rxvt-unicode, unicode support, rewrote almost all the code, perl
+extension, random hacks, numerous bugfixes and extensions.
</dd>
<dd>
<p>Project Coordinator (Changes 1.0 -)</p>
</dd>
+<p></p>
+<dt><strong><a name="item_emanuele_giaquinta__3ce_2egiaquinta_40glauco_2eit_">Emanuele Giaquinta <em><a href="mailto:<e.giaquinta@glauco.it"><e.giaquinta@glauco.it</a></em>></a></strong><br />
+</dt>
+<dd>
+Pty/tty/utmp/wtmp rewrite, lots of random hacking and bugxifing.
+</dd>
<p></p></dl>
</body>
.\" ========================================================================
.\"
.IX Title "rxvt 1"
-.TH rxvt 1 "2006-01-16" "7.0" "RXVT-UNICODE"
+.TH rxvt 1 "2006-01-19" "7.1" "RXVT-UNICODE"
.SH "NAME"
rxvt\-unicode (ouR XVT, unicode) \- (a VT102 emulator for the X window system)
.SH "SYNOPSIS"
Compile \fIfrills\fR: Set \s-1MWM\s0 hints to request a borderless window, i.e.
if honoured by the \s-1WM\s0, the rxvt-unicode window will not have window
decorations; resource \fBborderLess\fR.
+.IP "\fB\-override\-redirect\fR" 4
+.IX Item "-override-redirect"
+Compile \fIfrills\fR: Sets override-redirect on the window; resource
+\&\fBoverride-redirect\fR.
.IP "\fB\-sbg\fR" 4
.IX Item "-sbg"
Compile \fIfrills\fR: Disable the usage of the built-in block graphics/line
Specify the reply rxvt-unicode sends to the shell when an \s-1ENQ\s0 (control\-E)
character is passed through. It may contain escape values as described
in the entry on \fBkeysym\fR following.
-.IP "\fBsecondaryScreen:\fR \fIbool\fR" 4
-.IX Item "secondaryScreen: bool"
+.IP "\fBsecondaryScreen:\fR \fIboolean\fR" 4
+.IX Item "secondaryScreen: boolean"
Turn on/off secondary screen (default enabled).
-.IP "\fBsecondaryScroll:\fR \fIbool\fR" 4
-.IX Item "secondaryScroll: bool"
+.IP "\fBsecondaryScroll:\fR \fIboolean\fR" 4
+.IX Item "secondaryScroll: boolean"
Turn on/off secondary screen scroll (default enabled). If the this
option is enabled, scrolls on the secondary screen will change the
scrollback buffer and switching to/from the secondary screen will
instead scroll the screen up.
-.IP "\fBhold\fR: \fIbool\fR" 4
-.IX Item "hold: bool"
+.IP "\fBhold\fR: \fIboolean\fR" 4
+.IX Item "hold: boolean"
Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@
will not immediately destroy its window when the program executed within
it exits. Instead, it will wait till it is being killed or closed by the
\&\f(CW\*(C`selection\-popup\*(C'\fR and \f(CW\*(C`mark\-urls\*(C'\fR perl extensions.
.IP "\fBtransient-for\fR: \fIwindowid\fR" 4
.IX Item "transient-for: windowid"
-Sets the \s-1WM_TRANSIENT_FOR\s0 property to the given window iw.
+Compile \fIfrills\fR: Sets the \s-1WM_TRANSIENT_FOR\s0 property to the given window id.
+.IP "\fBoverride-redirect\fR: \fIboolean\fR" 4
+.IX Item "override-redirect: boolean"
+Compile \fIfrills\fR: Sets override-redirect for the terminal window, making
+it almost invisible to window managers; option \fB\-override\-redirect\fR.
.SH "THE SCROLLBAR"
.IX Header "THE SCROLLBAR"
Lines of text that scroll off the top of the \fB@@RXVT_NAME@@\fR window
Project Coordinator (changes.txt 2.21a to 2.4.5)
.IP "Geoff Wing <gcw@pobox.com>" 4
.IX Item "Geoff Wing <gcw@pobox.com>"
-Rewrote screen display and text selection routines. Project Coordinator
-(changes.txt 2.4.6 \- rxvt\-unicode)
+Rewrote screen display and text selection routines.
+.Sp
+Project Coordinator (changes.txt 2.4.6 \- rxvt\-unicode)
.IP "Marc Alexander Lehmann <rxvt\-unicode@schmorp.de>" 4
.IX Item "Marc Alexander Lehmann <rxvt-unicode@schmorp.de>"
-Forked rxvt\-unicode, rewrote most of the display code and internal
-character handling to store text in unicode, improve xterm
-compatibility and apply numerous other bugfixes and extensions.
+Forked rxvt\-unicode, unicode support, rewrote almost all the code, perl
+extension, random hacks, numerous bugfixes and extensions.
.Sp
Project Coordinator (Changes 1.0 \-)
+.IP "Emanuele Giaquinta <e.giaquinta@glauco.it>" 4
+.IX Item "Emanuele Giaquinta <e.giaquinta@glauco.it>"
+Pty/tty/utmp/wtmp rewrite, lots of random hacking and bugxifing.
rxvt [options] [-e command [ args ]]
DESCRIPTION
- rxvt-unicode, version 7.0, is a colour vt102 terminal emulator intended
+ rxvt-unicode, version 7.1, is a colour vt102 terminal emulator intended
as an *xterm*(1) replacement for users who do not require features such
as Tektronix 4014 emulation and toolkit-style configurability. As a
result, rxvt-unicode uses much less swap space -- a significant
if honoured by the WM, the rxvt-unicode window will not have window
decorations; resource borderLess.
+ -override-redirect
+ Compile *frills*: Sets override-redirect on the window; resource
+ override-redirect.
+
-sbg
Compile *frills*: Disable the usage of the built-in block
graphics/line drawing characters and just rely on what the specified
(control-E) character is passed through. It may contain escape
values as described in the entry on keysym following.
- secondaryScreen: *bool*
+ secondaryScreen: *boolean*
Turn on/off secondary screen (default enabled).
- secondaryScroll: *bool*
+ secondaryScroll: *boolean*
Turn on/off secondary screen scroll (default enabled). If the this
option is enabled, scrolls on the secondary screen will change the
scrollback buffer and switching to/from the secondary screen will
instead scroll the screen up.
- hold: *bool*
+ hold: *boolean*
Turn on/off hold window after exit support. If enabled, rxvt will
not immediately destroy its window when the program executed within
it exits. Instead, it will wait till it is being killed or closed by
"selection-popup" and "mark-urls" perl extensions.
transient-for: *windowid*
- Sets the WM_TRANSIENT_FOR property to the given window iw.
+ Compile *frills*: Sets the WM_TRANSIENT_FOR property to the given
+ window id.
+
+ override-redirect: *boolean*
+ Compile *frills*: Sets override-redirect for the terminal window,
+ making it almost invisible to window managers; option
+ -override-redirect.
THE SCROLLBAR
Lines of text that scroll off the top of the rxvt window (resource:
Project Coordinator (changes.txt 2.21a to 2.4.5)
Geoff Wing <gcw@pobox.com>
- Rewrote screen display and text selection routines. Project
- Coordinator (changes.txt 2.4.6 - rxvt-unicode)
+ Rewrote screen display and text selection routines.
+
+ Project Coordinator (changes.txt 2.4.6 - rxvt-unicode)
Marc Alexander Lehmann <rxvt-unicode@schmorp.de>
- Forked rxvt-unicode, rewrote most of the display code and internal
- character handling to store text in unicode, improve xterm
- compatibility and apply numerous other bugfixes and extensions.
+ Forked rxvt-unicode, unicode support, rewrote almost all the code,
+ perl extension, random hacks, numerous bugfixes and extensions.
Project Coordinator (Changes 1.0 -)
+ Emanuele Giaquinta <e.giaquinta@glauco.it>
+ Pty/tty/utmp/wtmp rewrite, lots of random hacking and bugxifing.
+
</dt>
<dd>
The Debian GNU/Linux package of rxvt-unicode in sarge contains large
-patches that considerably change the behaviour of rxvt-unicode. Before
-reporting a bug to the original rxvt-unicode author please download and
-install the genuine version (<a href="http://software.schmorp.de#rxvt-unicode">http://software.schmorp.de#rxvt-unicode</a>)
-and try to reproduce the problem. If you cannot, chances are that the
-problems are specific to Debian GNU/Linux, in which case it should be
-reported via the Debian Bug Tracking System (use <code>reportbug</code> to report
-the bug).
+patches that considerably change the behaviour of rxvt-unicode (but
+unfortunately this notice has been removed). Before reporting a bug to
+the original rxvt-unicode author please download and install the genuine
+version (<a href="http://software.schmorp.de#rxvt-unicode">http://software.schmorp.de#rxvt-unicode</a>) and try to reproduce
+the problem. If you cannot, chances are that the problems are specific to
+Debian GNU/Linux, in which case it should be reported via the Debian Bug
+Tracking System (use <code>reportbug</code> to report the bug).
</dd>
<dd>
<p>For other problems that also affect the Debian package, you can and
might encounter the same issue.</p>
</dd>
<p></p>
-<dt><strong><a name="item_i_am_maintaining_rxvt_2dunicode_for_distribution_2">I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?</a></strong><br />
+<dt><strong><a name="item_i_am_maintaining_rxvt_2dunicode_for_distribution_2">I am maintaining rxvt-unicode for distribution/OS XXX, any
+recommendation?</a></strong><br />
</dt>
<dd>
You should build one binary with the default options. <em>configure</em>
<tr><td>Ps = 17</td><td>Change colour of highlight characters to Pt</td></tr>
<tr><td>Ps = 18</td><td>Change colour of bold characters to Pt [deprecated, see 706]</td></tr>
<tr><td>Ps = 19</td><td>Change colour of underlined characters to Pt [deprecated, see 707]</td></tr>
-<tr><td>Ps = 20</td><td>Change default background to Pt</td></tr>
+<tr><td>Ps = 20</td><td>Change background pixmap parameters (see section XPM) (Compile XPM).</td></tr>
<tr><td>Ps = 39</td><td>Change default foreground colour to Pt.</td></tr>
<tr><td>Ps = 46</td><td>Change Log File to Pt unimplemented</td></tr>
<tr><td>Ps = 49</td><td>Change default background colour to Pt.</td></tr>
.\" ========================================================================
.\"
.IX Title "rxvt 7"
-.TH rxvt 7 "2006-01-17" "7.1" "RXVT-UNICODE"
+.TH rxvt 7 "2006-01-19" "7.1" "RXVT-UNICODE"
.SH "NAME"
RXVT REFERENCE \- FAQ, command sequences and other background information
.SH "SYNOPSIS"
.IP "I am using Debian GNU/Linux and have a problem..." 4
.IX Item "I am using Debian GNU/Linux and have a problem..."
The Debian GNU/Linux package of rxvt-unicode in sarge contains large
-patches that considerably change the behaviour of rxvt\-unicode. Before
-reporting a bug to the original rxvt-unicode author please download and
-install the genuine version (<http://software.schmorp.de#rxvt\-unicode>)
-and try to reproduce the problem. If you cannot, chances are that the
-problems are specific to Debian GNU/Linux, in which case it should be
-reported via the Debian Bug Tracking System (use \f(CW\*(C`reportbug\*(C'\fR to report
-the bug).
+patches that considerably change the behaviour of rxvt-unicode (but
+unfortunately this notice has been removed). Before reporting a bug to
+the original rxvt-unicode author please download and install the genuine
+version (<http://software.schmorp.de#rxvt\-unicode>) and try to reproduce
+the problem. If you cannot, chances are that the problems are specific to
+Debian GNU/Linux, in which case it should be reported via the Debian Bug
+Tracking System (use \f(CW\*(C`reportbug\*(C'\fR to report the bug).
.Sp
For other problems that also affect the Debian package, you can and
probably should use the Debian \s-1BTS\s0, too, because, after all, it's also a
Ps = 17 Change colour of highlight characters to Pt
Ps = 18 Change colour of bold characters to Pt [deprecated, see 706]
Ps = 19 Change colour of underlined characters to Pt [deprecated, see 707]
-Ps = 20 Change default background to Pt
+Ps = 20 Change background pixmap parameters (see section XPM) (Compile XPM).
Ps = 39 Change default foreground colour to Pt.
Ps = 46 Change Log File to Pt unimplemented
Ps = 49 Change default background colour to Pt.
I am using Debian GNU/Linux and have a problem...
The Debian GNU/Linux package of rxvt-unicode in sarge contains large
- patches that considerably change the behaviour of rxvt-unicode.
- Before reporting a bug to the original rxvt-unicode author please
- download and install the genuine version
- (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the
- problem. If you cannot, chances are that the problems are specific
- to Debian GNU/Linux, in which case it should be reported via the
- Debian Bug Tracking System (use "reportbug" to report the bug).
+ patches that considerably change the behaviour of rxvt-unicode (but
+ unfortunately this notice has been removed). Before reporting a bug
+ to the original rxvt-unicode author please download and install the
+ genuine version (<http://software.schmorp.de#rxvt-unicode>) and try
+ to reproduce the problem. If you cannot, chances are that the
+ problems are specific to Debian GNU/Linux, in which case it should
+ be reported via the Debian Bug Tracking System (use "reportbug" to
+ report the bug).
For other problems that also affect the Debian package, you can and
probably should use the Debian BTS, too, because, after all, it's
Ps = 17 Change colour of highlight characters to Pt
Ps = 18 Change colour of bold characters to Pt [deprecated, see 706]
Ps = 19 Change colour of underlined characters to Pt [deprecated, see 707]
- Ps = 20 Change default background to Pt
+ Ps = 20 Change background pixmap parameters (see section XPM) (Compile XPM).
Ps = 39 Change default foreground colour to Pt.
Ps = 46 Change Log File to Pt unimplemented
Ps = 49 Change default background colour to Pt.
text into various other formats/action (such as uri unescaping, perl
evalution, web-browser starting etc.), depending on content.
</dd>
+<dd>
+<p>Other extensions can extend this popup menu by pushing a code reference
+onto <code>@{ $term-</code>{selection_popup_hook} }>, that is called whenever the
+popup is displayed.</p>
+</dd>
+<dd>
+<p>It's sole argument is the popup menu, which can be modified. The selection
+is in <code>$_</code>, which can be used to decide wether 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 <code>$_</code>.</p>
+</dd>
+<dd>
+<p>The following will add an entry <code>a to b</code> that transforms all <code>a</code>s in
+the selection to <code>b</code>s, but only if the selection currently contains any
+<code>a</code>s:</p>
+</dd>
+<dd>
+<pre>
+ push @{ $self->{term}{selection_popup_hook} }, sub {
+ /a/ ? ("a to be" => sub { s/a/b/g }
+ : ()
+ };</pre>
+</dd>
<p></p>
<dt><strong><a name="item_searchable_2dscrollback_3chotkey_3e__28enabled_by_">searchable-scrollback<hotkey> (enabled by default)</a></strong><br />
</dt>
</dd>
<dd>
<pre>
- URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\\d+):?$/\\x1b:e \\Q$1\\E\\x0d:$2\\x0d/</pre>
+ URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\\d+):?$/:e \\Q$1\\E\\x0d:$2\\x0d/</pre>
</dd>
<dd>
<p>Of course, this can be modified to suit your needs and your editor :)</p>
</dd>
<dd>
<pre>
- URxvt.selection.pattern-0: ( at .*? line \\d+\\.)
- URxvt.selection-autotransform.0: s/^ at (.*?) line (\\d+)\\.$/\x1b:e \\Q$1\E\\x0d:$2\\x0d/</pre>
+ URxvt.selection.pattern-0: ( at .*? line \\d+[,.])
+ URxvt.selection-autotransform.0: s/^ at (.*?) line (\\d+)[,.]$/:e \\Q$1\E\\x0d:$2\\x0d/</pre>
</dd>
<dd>
<p>The first line tells the selection code to treat the unchanging part of
the URL as first argument.
</dd>
<p></p>
+<dt><strong><a name="item_automove_2dbackground">automove-background</a></strong><br />
+</dt>
+<dd>
+This is basically a one-line extension that dynamically changes the background pixmap offset
+to the window position, in effect creating the same effect as pseudo transparency with
+a custom pixmap. No scaling is supported in this mode. Exmaple:
+</dd>
+<dd>
+<pre>
+ rxvt -pixmap background.xpm -pe automove-background</pre>
+</dd>
+<p></p>
<dt><strong><a name="item_block_2dgraphics_2dto_2dascii">block-graphics-to-ascii</a></strong><br />
</dt>
<dd>
returning to the mainloop.
</dd>
<p></p>
+<dt><strong><a name="item_on_child_start__24term_2c__24pid">on_child_start $term, $pid</a></strong><br />
+</dt>
+<dd>
+Called just after the child process has been <code>fork</code>ed.
+</dd>
+<p></p>
+<dt><strong><a name="item_on_child_exit__24term_2c__24status">on_child_exit $term, $status</a></strong><br />
+</dt>
+<dd>
+Called just after the child process has exited. <code>$status</code> is the status
+from <code>waitpid</code>.
+</dd>
+<p></p>
<dt><strong><a name="item_on_sel_make__24term_2c__24eventtime">on_sel_make $term, $eventtime</a></strong><br />
</dt>
<dd>
focus out processing.
</dd>
<p></p>
+<dt><strong><a name="item_on_configure_notify__24term_2c__24event">on_configure_notify $term, $event</a></strong><br />
+</dt>
<dt><strong><a name="item_on_key_press__24term_2c__24event_2c__24keysym_2c__">on_key_press $term, $event, $keysym, $octets</a></strong><br />
</dt>
<dt><strong><a name="item_on_key_release__24term_2c__24event_2c__24keysym">on_key_release $term, $event, $keysym</a></strong><br />
watchers (timers, io watchers) are still active.
</dd>
<p></p>
+<dt><strong><a name="item_exec_async">$term->exec_async ($cmd[, @args])</a></strong><br />
+</dt>
+<dd>
+Works like the combination of the <code>fork</code>/<code>exec</code> builtins, which executes
+(``starts'') programs in the background. This function takes care of setting
+the user environment before exec'ing the command (e.g. <code>PATH</code>) and should
+be preferred over explicit calls to <code>exec</code> or <code>system</code>.
+</dd>
+<dd>
+<p>Returns the pid of the subprocess or <code>undef</code> on error.</p>
+</dd>
+<p></p>
<dt><strong><a name="item_option">$isset = $term->option ($optval[, $set])</a></strong><br />
</dt>
<dd>
<pre>
borderLess console cursorBlink cursorUnderline hold iconic insecure
intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage
- pastableTabs pointerBlank reverseVideo scrollBar scrollBar_floating
- scrollBar_right scrollTtyKeypress scrollTtyOutput scrollWithBuffer
- secondaryScreen secondaryScroll skipBuiltinGlyphs transparent
- tripleclickwords utmpInhibit visualBell</pre>
+ override-redirect pastableTabs pointerBlank reverseVideo scrollBar
+ scrollBar_floating scrollBar_right scrollTtyKeypress scrollTtyOutput
+ scrollWithBuffer secondaryScreen secondaryScroll skipBuiltinGlyphs
+ transparent tripleclickwords utmpInhibit visualBell</pre>
</dd>
<p></p>
<dt><strong><a name="item_resource">$value = $term->resource ($name[, $newval])</a></strong><br />
borderLess color cursorBlink cursorUnderline cutchars delete_key
display_name embed ext_bwidth fade font geometry hold iconName
imFont imLocale inputMethod insecure int_bwidth intensityStyles
- italicFont jumpScroll lineSpace loginShell mapAlert menu meta8 modifier
- mouseWheelScrollPage name pastableTabs path perl_eval perl_ext_1 perl_ext_2
- perl_lib pointerBlank pointerBlankDelay preeditType print_pipe pty_fd
- reverseVideo saveLines scrollBar scrollBar_align scrollBar_floating
- scrollBar_right scrollBar_thickness scrollTtyKeypress scrollTtyOutput
- scrollWithBuffer scrollstyle secondaryScreen secondaryScroll selectstyle
- shade term_name title transparent transparent_all tripleclickwords
- utmpInhibit visualBell</pre>
+ italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier
+ mouseWheelScrollPage name override_redirect pastableTabs path perl_eval
+ perl_ext_1 perl_ext_2 perl_lib pointerBlank pointerBlankDelay
+ preeditType print_pipe pty_fd reverseVideo saveLines scrollBar
+ scrollBar_align scrollBar_floating scrollBar_right scrollBar_thickness
+ scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle
+ secondaryScreen secondaryScroll selectstyle shade term_name title
+ transient_for transparent transparent_all tripleclickwords utmpInhibit
+ visualBell</pre>
</dd>
<p></p>
<dt><strong><a name="item_x_resource">$value = $term->x_resource ($pattern)</a></strong><br />
Set the event trigger time to <code>$tstamp</code> and start the timer.
</dd>
<p></p>
+<dt><strong><a name="item_after">$timer = $timer->after ($delay)</a></strong><br />
+</dt>
+<dd>
+Like <a href="#item_start"><code>start</code></a>, but sets the expiry timer to c<urxvt::NOW + $delay>.
+</dd>
+<p></p>
<dt><strong><a name="item_stop">$timer = $timer->stop</a></strong><br />
</dt>
<dd>
.\" ========================================================================
.\"
.IX Title "rxvt 3"
-.TH rxvt 3 "2006-01-18" "7.1" "RXVT-UNICODE"
+.TH rxvt 3 "2006-01-19" "7.1" "RXVT-UNICODE"
.SH "NAME"
@@RXVT_NAME@@perl \- rxvt\-unicode's embedded perl interpreter
.SH "SYNOPSIS"
Binds a popup menu to Ctrl\-Button3 that lets you convert the selection
text into various other formats/action (such as uri unescaping, perl
evalution, web-browser starting etc.), depending on content.
+.Sp
+Other extensions can extend this popup menu by pushing a code reference
+onto \f(CW\*(C`@{ $term\-\*(C'\fR{selection_popup_hook} }>, that is called whenever the
+popup is displayed.
+.Sp
+It's sole argument is the popup menu, which can be modified. The selection
+is in \f(CW$_\fR, which can be used to decide wether 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 \f(CW$_\fR.
+.Sp
+The following will add an entry \f(CW\*(C`a to b\*(C'\fR that transforms all \f(CW\*(C`a\*(C'\fRs in
+the selection to \f(CW\*(C`b\*(C'\fRs, but only if the selection currently contains any
+\&\f(CW\*(C`a\*(C'\fRs:
+.Sp
+.Vb 4
+\& push @{ $self->{term}{selection_popup_hook} }, sub {
+\& /a/ ? ("a to be" => sub { s/a/b/g }
+\& : ()
+\& };
+.Ve
.IP "searchable\-scrollback<hotkey> (enabled by default)" 4
.IX Item "searchable-scrollback<hotkey> (enabled by default)"
Adds regex search functionality to the scrollback buffer, triggered
paste directly into your (vi :) editor:
.Sp
.Vb 1
-\& URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\e\ed+):?$/\e\ex1b:e \e\eQ$1\e\eE\e\ex0d:$2\e\ex0d/
+\& URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\e\ed+):?$/:e \e\eQ$1\e\eE\e\ex0d:$2\e\ex0d/
.Ve
.Sp
Of course, this can be modified to suit your needs and your editor :)
\&\s-1FILENAME\s0 line \s-1YYY\s0.\*(R"), you need a slightly more elaborate solution:
.Sp
.Vb 2
-\& URxvt.selection.pattern-0: ( at .*? line \e\ed+\e\e.)
-\& URxvt.selection-autotransform.0: s/^ at (.*?) line (\e\ed+)\e\e.$/\ex1b:e \e\eQ$1\eE\e\ex0d:$2\e\ex0d/
+\& URxvt.selection.pattern-0: ( at .*? line \e\ed+[,.])
+\& URxvt.selection-autotransform.0: s/^ at (.*?) line (\e\ed+)[,.]$/:e \e\eQ$1\eE\e\ex0d:$2\e\ex0d/
.Ve
.Sp
The first line tells the selection code to treat the unchanging part of
make them clickable. When middle\-clicked, the program specified in the
resource \f(CW\*(C`urlLauncher\*(C'\fR (default \f(CW\*(C`x\-www\-browser\*(C'\fR) will be started with
the \s-1URL\s0 as first argument.
+.IP "automove-background" 4
+.IX Item "automove-background"
+This is basically a one-line extension that dynamically changes the background pixmap offset
+to the window position, in effect creating the same effect as pseudo transparency with
+a custom pixmap. No scaling is supported in this mode. Exmaple:
+.Sp
+.Vb 1
+\& @@RXVT_NAME@@ -pixmap background.xpm -pe automove-background
+.Ve
.IP "block-graphics-to-ascii" 4
.IX Item "block-graphics-to-ascii"
A not very useful example of filtering all text output to the terminal,
.IX Item "on_start $term"
Called at the very end of initialisation of a new terminal, just before
returning to the mainloop.
+.ie n .IP "on_child_start $term\fR, \f(CW$pid" 4
+.el .IP "on_child_start \f(CW$term\fR, \f(CW$pid\fR" 4
+.IX Item "on_child_start $term, $pid"
+Called just after the child process has been \f(CW\*(C`fork\*(C'\fRed.
+.ie n .IP "on_child_exit $term\fR, \f(CW$status" 4
+.el .IP "on_child_exit \f(CW$term\fR, \f(CW$status\fR" 4
+.IX Item "on_child_exit $term, $status"
+Called just after the child process has exited. \f(CW$status\fR is the status
+from \f(CW\*(C`waitpid\*(C'\fR.
.ie n .IP "on_sel_make $term\fR, \f(CW$eventtime" 4
.el .IP "on_sel_make \f(CW$term\fR, \f(CW$eventtime\fR" 4
.IX Item "on_sel_make $term, $eventtime"
.IX Item "on_focus_out $term"
Called wheneever the window loses keyboard focus, before rxvt-unicode does
focus out processing.
+.ie n .IP "on_configure_notify $term\fR, \f(CW$event" 4
+.el .IP "on_configure_notify \f(CW$term\fR, \f(CW$event\fR" 4
+.IX Item "on_configure_notify $term, $event"
+.PD 0
.ie n .IP "on_key_press $term\fR, \f(CW$event\fR, \f(CW$keysym\fR, \f(CW$octets" 4
.el .IP "on_key_press \f(CW$term\fR, \f(CW$event\fR, \f(CW$keysym\fR, \f(CW$octets\fR" 4
.IX Item "on_key_press $term, $event, $keysym, $octets"
-.PD 0
.ie n .IP "on_key_release $term\fR, \f(CW$event\fR, \f(CW$keysym" 4
.el .IP "on_key_release \f(CW$term\fR, \f(CW$event\fR, \f(CW$keysym\fR" 4
.IX Item "on_key_release $term, $event, $keysym"
Destroy the terminal object (close the window, free resources
etc.). Please note that @@RXVT_NAME@@ will not exit as long as any event
watchers (timers, io watchers) are still active.
+.ie n .IP "$term\->exec_async ($cmd[, @args])" 4
+.el .IP "$term\->exec_async ($cmd[, \f(CW@args\fR])" 4
+.IX Item "$term->exec_async ($cmd[, @args])"
+Works like the combination of the \f(CW\*(C`fork\*(C'\fR/\f(CW\*(C`exec\*(C'\fR builtins, which executes
+(\*(L"starts\*(R") programs in the background. This function takes care of setting
+the user environment before exec'ing the command (e.g. \f(CW\*(C`PATH\*(C'\fR) and should
+be preferred over explicit calls to \f(CW\*(C`exec\*(C'\fR or \f(CW\*(C`system\*(C'\fR.
+.Sp
+Returns the pid of the subprocess or \f(CW\*(C`undef\*(C'\fR on error.
.ie n .IP "$isset = $term\fR\->option ($optval[, \f(CW$set])" 4
.el .IP "$isset = \f(CW$term\fR\->option ($optval[, \f(CW$set\fR])" 4
.IX Item "$isset = $term->option ($optval[, $set])"
.Vb 6
\& borderLess console cursorBlink cursorUnderline hold iconic insecure
\& intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage
-\& pastableTabs pointerBlank reverseVideo scrollBar scrollBar_floating
-\& scrollBar_right scrollTtyKeypress scrollTtyOutput scrollWithBuffer
-\& secondaryScreen secondaryScroll skipBuiltinGlyphs transparent
-\& tripleclickwords utmpInhibit visualBell
+\& override-redirect pastableTabs pointerBlank reverseVideo scrollBar
+\& scrollBar_floating scrollBar_right scrollTtyKeypress scrollTtyOutput
+\& scrollWithBuffer secondaryScreen secondaryScroll skipBuiltinGlyphs
+\& transparent tripleclickwords utmpInhibit visualBell
.Ve
.ie n .IP "$value = $term\fR\->resource ($name[, \f(CW$newval])" 4
.el .IP "$value = \f(CW$term\fR\->resource ($name[, \f(CW$newval\fR])" 4
are supported in every build, please see the source file \fI/src/rsinc.h\fR
to see the actual list:
.Sp
-.Vb 12
+.Vb 13
\& answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont
\& borderLess color cursorBlink cursorUnderline cutchars delete_key
\& display_name embed ext_bwidth fade font geometry hold iconName
\& imFont imLocale inputMethod insecure int_bwidth intensityStyles
-\& italicFont jumpScroll lineSpace loginShell mapAlert menu meta8 modifier
-\& mouseWheelScrollPage name pastableTabs path perl_eval perl_ext_1 perl_ext_2
-\& perl_lib pointerBlank pointerBlankDelay preeditType print_pipe pty_fd
-\& reverseVideo saveLines scrollBar scrollBar_align scrollBar_floating
-\& scrollBar_right scrollBar_thickness scrollTtyKeypress scrollTtyOutput
-\& scrollWithBuffer scrollstyle secondaryScreen secondaryScroll selectstyle
-\& shade term_name title transparent transparent_all tripleclickwords
-\& utmpInhibit visualBell
+\& italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier
+\& mouseWheelScrollPage name override_redirect pastableTabs path perl_eval
+\& perl_ext_1 perl_ext_2 perl_lib pointerBlank pointerBlankDelay
+\& preeditType print_pipe pty_fd reverseVideo saveLines scrollBar
+\& scrollBar_align scrollBar_floating scrollBar_right scrollBar_thickness
+\& scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle
+\& secondaryScreen secondaryScroll selectstyle shade term_name title
+\& transient_for transparent transparent_all tripleclickwords utmpInhibit
+\& visualBell
.Ve
.ie n .IP "$value = $term\->x_resource ($pattern)" 4
.el .IP "$value = \f(CW$term\fR\->x_resource ($pattern)" 4
.el .IP "$timer = \f(CW$timer\fR\->start ($tstamp)" 4
.IX Item "$timer = $timer->start ($tstamp)"
Set the event trigger time to \f(CW$tstamp\fR and start the timer.
+.ie n .IP "$timer = $timer\->after ($delay)" 4
+.el .IP "$timer = \f(CW$timer\fR\->after ($delay)" 4
+.IX Item "$timer = $timer->after ($delay)"
+Like \f(CW\*(C`start\*(C'\fR, but sets the expiry timer to c<urxvt::NOW + \f(CW$delay\fR>.
.ie n .IP "$timer = $timer\->stop" 4
.el .IP "$timer = \f(CW$timer\fR\->stop" 4
.IX Item "$timer = $timer->stop"
unescaping, perl evalution, web-browser starting etc.), depending on
content.
+ Other extensions can extend this popup menu by pushing a code
+ reference onto "@{ $term-"{selection_popup_hook} }>, that is called
+ whenever the popup is displayed.
+
+ It's sole argument is the popup menu, which can be modified. The
+ selection is in $_, which can be used to decide wether 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 be" => sub { s/a/b/g }
+ : ()
+ };
+
searchable-scrollback<hotkey> (enabled by default)
Adds regex search functionality to the scrollback buffer, triggered
by a hotkey (default: "M-s"). While in search mode, normal terminal
And this example matches the same,but replaces it with vi-commands
you can paste directly into your (vi :) editor:
- URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\\d+):?$/\\x1b:e \\Q$1\\E\\x0d:$2\\x0d/
+ URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\\d+):?$/:e \\Q$1\\E\\x0d:$2\\x0d/
Of course, this can be modified to suit your needs and your editor
:)
To expand the example above to typical perl error messages ("XXX at
FILENAME line YYY."), you need a slightly more elaborate solution:
- URxvt.selection.pattern-0: ( at .*? line \\d+\\.)
- URxvt.selection-autotransform.0: s/^ at (.*?) line (\\d+)\\.$/\x1b:e \\Q$1\E\\x0d:$2\\x0d/
+ URxvt.selection.pattern-0: ( at .*? line \\d+[,.])
+ URxvt.selection-autotransform.0: s/^ at (.*?) line (\\d+)[,.]$/:e \\Q$1\E\\x0d:$2\\x0d/
The first line tells the selection code to treat the unchanging part
of every error message as a selection pattern, and the second line
in the resource "urlLauncher" (default "x-www-browser") will be
started with the URL as first argument.
+ automove-background
+ This is basically a one-line extension that dynamically changes the
+ background pixmap offset to the window position, in effect creating
+ the same effect as pseudo transparency with a custom pixmap. No
+ scaling is supported in this mode. Exmaple:
+
+ rxvt -pixmap background.xpm -pe automove-background
+
block-graphics-to-ascii
A not very useful example of filtering all text output to the
terminal, by replacing all line-drawing characters (U+2500 ..
Called at the very end of initialisation of a new terminal, just
before returning to the mainloop.
+ on_child_start $term, $pid
+ Called just after the child process has been "fork"ed.
+
+ on_child_exit $term, $status
+ Called just after the child process has exited. $status is the
+ status from "waitpid".
+
on_sel_make $term, $eventtime
Called whenever a selection has been made by the user, but before
the selection text is copied, so changes to the beginning, end or
Called wheneever the window loses keyboard focus, before
rxvt-unicode does focus out processing.
+ on_configure_notify $term, $event
on_key_press $term, $event, $keysym, $octets
on_key_release $term, $event, $keysym
on_button_press $term, $event
Please note that rxvt will not exit as long as any event watchers
(timers, io watchers) are still active.
+ $term->exec_async ($cmd[, @args])
+ Works like the combination of the "fork"/"exec" builtins, which
+ executes ("starts") programs in the background. This function takes
+ care of setting the user environment before exec'ing the command
+ (e.g. "PATH") and should be preferred over explicit calls to "exec"
+ or "system".
+
+ Returns the pid of the subprocess or "undef" on error.
+
$isset = $term->option ($optval[, $set])
Returns true if the option specified by $optval is enabled, and
optionally change it. All option values are stored by name in the
borderLess console cursorBlink cursorUnderline hold iconic insecure
intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage
- pastableTabs pointerBlank reverseVideo scrollBar scrollBar_floating
- scrollBar_right scrollTtyKeypress scrollTtyOutput scrollWithBuffer
- secondaryScreen secondaryScroll skipBuiltinGlyphs transparent
- tripleclickwords utmpInhibit visualBell
+ override-redirect pastableTabs pointerBlank reverseVideo scrollBar
+ scrollBar_floating scrollBar_right scrollTtyKeypress scrollTtyOutput
+ scrollWithBuffer secondaryScreen secondaryScroll skipBuiltinGlyphs
+ transparent tripleclickwords utmpInhibit visualBell
$value = $term->resource ($name[, $newval])
Returns the current resource value associated with a given name and
borderLess color cursorBlink cursorUnderline cutchars delete_key
display_name embed ext_bwidth fade font geometry hold iconName
imFont imLocale inputMethod insecure int_bwidth intensityStyles
- italicFont jumpScroll lineSpace loginShell mapAlert menu meta8 modifier
- mouseWheelScrollPage name pastableTabs path perl_eval perl_ext_1 perl_ext_2
- perl_lib pointerBlank pointerBlankDelay preeditType print_pipe pty_fd
- reverseVideo saveLines scrollBar scrollBar_align scrollBar_floating
- scrollBar_right scrollBar_thickness scrollTtyKeypress scrollTtyOutput
- scrollWithBuffer scrollstyle secondaryScreen secondaryScroll selectstyle
- shade term_name title transparent transparent_all tripleclickwords
- utmpInhibit visualBell
+ italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier
+ mouseWheelScrollPage name override_redirect pastableTabs path perl_eval
+ perl_ext_1 perl_ext_2 perl_lib pointerBlank pointerBlankDelay
+ preeditType print_pipe pty_fd reverseVideo saveLines scrollBar
+ scrollBar_align scrollBar_floating scrollBar_right scrollBar_thickness
+ scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle
+ secondaryScreen secondaryScroll selectstyle shade term_name title
+ transient_for transparent transparent_all tripleclickwords utmpInhibit
+ visualBell
$value = $term->x_resource ($pattern)
Returns the X-Resource for the given pattern, excluding the program
$timer = $timer->start ($tstamp)
Set the event trigger time to $tstamp and start the timer.
+ $timer = $timer->after ($delay)
+ Like "start", but sets the expiry timer to c<urxvt::NOW + $delay>.
+
$timer = $timer->stop
Stop the timer.
// VERSION _must_ be \d.\d+
#define VERSION "7.1"
-#define DATE "2006-01-13"
+#define DATE "2006-01-19"