ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvtperl.3.html
(Generate patch)

Comparing rxvt-unicode/doc/rxvtperl.3.html (file contents):
Revision 1.25 by root, Thu Jan 12 05:37:34 2006 UTC vs.
Revision 1.29 by root, Fri Jan 13 12:40:46 2006 UTC

1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml"> 2<html xmlns="http://www.w3.org/1999/xhtml">
3<head> 3<head>
4<title>rxvtperl - rxvt-unicode's embedded perl interpreter</title> 4<title>urxvtperl - rxvt-unicode's embedded perl interpreter</title>
5<link rev="made" href="mailto:perl-binary@plan9.de" /> 5<link rev="made" href="mailto:perl-binary@plan9.de" />
6</head> 6</head>
7 7
8<body style="background-color: white"> 8<body style="background-color: white">
9 9
45<hr /> 45<hr />
46<p> 46<p>
47</p> 47</p>
48<hr /> 48<hr />
49<h1><a name="name">NAME</a></h1> 49<h1><a name="name">NAME</a></h1>
50<p>rxvtperl - rxvt-unicode's embedded perl interpreter</p> 50<p>urxvtperl - rxvt-unicode's embedded perl interpreter</p>
51<p> 51<p>
52</p> 52</p>
53<hr /> 53<hr />
54<h1><a name="synopsis">SYNOPSIS</a></h1> 54<h1><a name="synopsis">SYNOPSIS</a></h1>
55<pre> 55<pre>
58 sub on_sel_grab { 58 sub on_sel_grab {
59 warn &quot;you selected &quot;, $_[0]-&gt;selection; 59 warn &quot;you selected &quot;, $_[0]-&gt;selection;
60 () 60 ()
61 }</pre> 61 }</pre>
62<pre> 62<pre>
63 # start a rxvt using it:</pre> 63 # start a urxvt using it:</pre>
64<pre> 64<pre>
65 rxvt --perl-lib $HOME -pe grab_test</pre> 65 urxvt --perl-lib $HOME -pe grab_test</pre>
66<p> 66<p>
67</p> 67</p>
68<hr /> 68<hr />
69<h1><a name="description">DESCRIPTION</a></h1> 69<h1><a name="description">DESCRIPTION</a></h1>
70<p>Everytime a terminal object gets created, extension scripts specified via 70<p>Everytime a terminal object gets created, extension scripts specified via
71the <code>perl</code> resource are loaded and associated with it.</p> 71the <code>perl</code> resource are loaded and associated with it.</p>
72<p>Scripts are compiled in a 'use strict' and 'use utf8' environment, and 72<p>Scripts are compiled in a 'use strict' and 'use utf8' environment, and
73thus must be encoded as UTF-8.</p> 73thus must be encoded as UTF-8.</p>
74<p>Each script will only ever be loaded once, even in rxvtd, where 74<p>Each script will only ever be loaded once, even in urxvtd, where
75scripts will be shared (but not enabled) for all terminals.</p> 75scripts will be shared (but not enabled) for all terminals.</p>
76<p> 76<p>
77</p> 77</p>
78<hr /> 78<hr />
79<h1><a name="prepackaged_extensions">PREPACKAGED EXTENSIONS</a></h1> 79<h1><a name="prepackaged_extensions">PREPACKAGED EXTENSIONS</a></h1>
80<p>This section describes the extensions delivered with this release. You can 80<p>This section describes the extensions delivered with this release. You can
81find them in <em>/opt/rxvt/lib/urxvt/perl/</em>.</p> 81find them in <em>/usr/local/lib/urxvt/perl/</em>.</p>
82<p>You can activate them like this:</p> 82<p>You can activate them like this:</p>
83<pre> 83<pre>
84 rxvt -pe &lt;extensionname&gt;</pre> 84 urxvt -pe &lt;extensionname&gt;</pre>
85<dl> 85<dl>
86<dt><strong><a name="item_selection">selection (enabled by default)</a></strong><br /> 86<dt><strong><a name="item_selection">selection (enabled by default)</a></strong><br />
87</dt> 87</dt>
88<dd> 88<dd>
89(More) intelligent selection. This extension tries to be more intelligent 89(More) intelligent selection. This extension tries to be more intelligent
95<dd> 95<dd>
96<p>A double-click usually selects the word under the cursor, further clicks 96<p>A double-click usually selects the word under the cursor, further clicks
97will enlarge the selection.</p> 97will enlarge the selection.</p>
98</dd> 98</dd>
99<dd> 99<dd>
100<p>The selection works by trying to match a number of regexes and displaying
101them in increasing order of length. You can add your own regexes by
102specifying resources of the form:</p>
103</dd>
104<dd>
105<pre>
106 URxvt.selection.pattern-0: perl-regex
107 URxvt.selection.pattern-1: perl-regex
108 ...</pre>
109</dd>
110<dd>
111<p>The index number (0, 1...) must not have any holes, and each regex must
112contain at least one pair of capturing parentheses, which will be used for
113the match. For example, the followign adds a regex that matches everything
114between two vertical bars:</p>
115</dd>
116<dd>
117<pre>
118 URxvt.selection.pattern-0: \\|([^|]+)\\|</pre>
119</dd>
120<dd>
121<p>You can look at the source of the selection extension to see more
122interesting uses, such as parsing a line from beginning to end.</p>
123</dd>
124<dd>
100<p>It also offers the following bindable keyboard command:</p> 125<p>This extension also offers the following bindable keyboard command:</p>
101</dd> 126</dd>
102<dl> 127<dl>
103<dt><strong><a name="item_rot13">rot13</a></strong><br /> 128<dt><strong><a name="item_rot13">rot13</a></strong><br />
104</dt> 129</dt>
105<dd> 130<dd>
141was started, while <code>Enter</code> or <code>Return</code> stay at the current position and 166was started, while <code>Enter</code> or <code>Return</code> stay at the current position and
142additionally stores the first match in the current line into the primary 167additionally stores the first match in the current line into the primary
143selection.</p> 168selection.</p>
144</dd> 169</dd>
145<p></p> 170<p></p>
146<dt><strong><a name="item_digital_2dclock">digital-clock</a></strong><br /> 171<dt><strong><a name="item_selection_2dautotransform">selection-autotransform</a></strong><br />
147</dt> 172</dt>
173<dd>
174This selection allows you to do automatic transforms on a selection
175whenever a selection is made.
148<dd> 176</dd>
149Displays a digital clock using the built-in overlay. 177<dd>
178<p>It works by specifying perl snippets (most useful is a single <code>s///</code>
179operator) that modify <code>$_</code> as resources:</p>
180</dd>
181<dd>
182<pre>
183 URxvt.selection-autotransform.0: transform
184 URxvt.selection-autotransform.1: transform
185 ...</pre>
186</dd>
187<dd>
188<p>For example, the following will transform selections of the form
189<code>filename:number</code>, often seen in compiler messages, into <code>vi +$filename
190$word</code>:</p>
191</dd>
192<dd>
193<pre>
194 URxvt.selection-autotransform.0: s/^([^:[:space:]]+):(\\d+):?$/vi +$2 \\Q$1\\E\\x0d/</pre>
195</dd>
196<dd>
197<p>And this example matches the same,but replaces it with vi-commands you can
198paste directly into your (vi :) editor:</p>
199</dd>
200<dd>
201<pre>
202 URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\\d+):?$/\\x1b:e \\Q$1\\E\\x0d:$2\\x0d/</pre>
203</dd>
204<dd>
205<p>Of course, this can be modified to suit your needs and your editor :)</p>
206</dd>
207<dd>
208<p>To expand the example above to typical perl error messages (``XXX at
209FILENAME line YYY.''), you need a slightly more elaborate solution:</p>
210</dd>
211<dd>
212<pre>
213 URxvt.selection.pattern-0: ( at .*? line \\d+\\.)
214 URxvt.selection-autotransform.0: s/^ at (.*?) line (\\d+)\\.$/\x1b:e \\Q$1\E\\x0d:$2\\x0d/</pre>
215</dd>
216<dd>
217<p>The first line tells the selection code to treat the unchanging part of
218every error message as a selection pattern, and the second line transforms
219the message into vi commands to load the file.</p>
150</dd> 220</dd>
151<p></p> 221<p></p>
152<dt><strong><a name="item_mark_2durls">mark-urls</a></strong><br /> 222<dt><strong><a name="item_mark_2durls">mark-urls</a></strong><br />
153</dt> 223</dt>
154<dd> 224<dd>
162</dt> 232</dt>
163<dd> 233<dd>
164A not very useful example of filtering all text output to the terminal, 234A not very useful example of filtering all text output to the terminal,
165by replacing all line-drawing characters (U+2500 .. U+259F) by a 235by replacing all line-drawing characters (U+2500 .. U+259F) by a
166similar-looking ascii character. 236similar-looking ascii character.
237</dd>
238<p></p>
239<dt><strong><a name="item_digital_2dclock">digital-clock</a></strong><br />
240</dt>
241<dd>
242Displays a digital clock using the built-in overlay.
167</dd> 243</dd>
168<p></p> 244<p></p>
169<dt><strong><a name="item_example_2drefresh_2dhooks">example-refresh-hooks</a></strong><br /> 245<dt><strong><a name="item_example_2drefresh_2dhooks">example-refresh-hooks</a></strong><br />
170</dt> 246</dt>
171<dd> 247<dd>
413<dt><strong><a name="item_on_keyboard_command__24term_2c__24string">on_keyboard_command $term, $string</a></strong><br /> 489<dt><strong><a name="item_on_keyboard_command__24term_2c__24string">on_keyboard_command $term, $string</a></strong><br />
414</dt> 490</dt>
415<dd> 491<dd>
416Called whenever the user presses a key combination that has a 492Called whenever the user presses a key combination that has a
417<code>perl:string</code> action bound to it (see description of the <strong>keysym</strong> 493<code>perl:string</code> action bound to it (see description of the <strong>keysym</strong>
418resource in the <code>rxvt(1)</code> manpage). 494resource in the <code>urxvt(1)</code> manpage).
495</dd>
496<p></p>
497<dt><strong><a name="item_on_x_event__24term_2c__24event">on_x_event $term, $event</a></strong><br />
498</dt>
499<dd>
500Called on every X event received on the vt window (and possibly other
501windows). Should only be used as a last resort. Most event structure
502members are not passed.
419</dd> 503</dd>
420<p></p> 504<p></p>
421<dt><strong><a name="item_on_focus_in__24term">on_focus_in $term</a></strong><br /> 505<dt><strong><a name="item_on_focus_in__24term">on_focus_in $term</a></strong><br />
422</dt> 506</dt>
423<dd> 507<dd>
537<dt><strong><a name="item_urxvt_3a_3acurrenttime">urxvt::CurrentTime</a></strong><br /> 621<dt><strong><a name="item_urxvt_3a_3acurrenttime">urxvt::CurrentTime</a></strong><br />
538</dt> 622</dt>
539<dt><strong><a name="item_urxvt_3a_3ashiftmask_2c_lockmask_2c_controlmask_2c">urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, 623<dt><strong><a name="item_urxvt_3a_3ashiftmask_2c_lockmask_2c_controlmask_2c">urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask,
540Mod3Mask, Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, 624Mod3Mask, Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask,
541Button4Mask, Button5Mask, AnyModifier</a></strong><br /> 625Button4Mask, Button5Mask, AnyModifier</a></strong><br />
626</dt>
627<dt><strong><a name="item_urxvt_3a_3anoeventmask_2c_keypressmask_2c_keyrelea">urxvt::NoEventMask, KeyPressMask, KeyReleaseMask,
628ButtonPressMask, ButtonReleaseMask, EnterWindowMask, LeaveWindowMask,
629PointerMotionMask, PointerMotionHintMask, Button1MotionMask, Button2MotionMask,
630Button3MotionMask, Button4MotionMask, Button5MotionMask, ButtonMotionMask,
631KeymapStateMask, ExposureMask, VisibilityChangeMask, StructureNotifyMask,
632ResizeRedirectMask, SubstructureNotifyMask, SubstructureRedirectMask,
633FocusChangeMask, PropertyChangeMask, ColormapChangeMask, OwnerGrabButtonMask</a></strong><br />
634</dt>
635<dt><strong><a name="item_urxvt_3a_3akeypress_2c_keyrelease_2c_buttonpress_2">urxvt::KeyPress, KeyRelease, ButtonPress, ButtonRelease, MotionNotify,
636EnterNotify, LeaveNotify, FocusIn, FocusOut, KeymapNotify, Expose,
637GraphicsExpose, NoExpose, VisibilityNotify, CreateNotify, DestroyNotify,
638UnmapNotify, MapNotify, MapRequest, ReparentNotify, ConfigureNotify,
639ConfigureRequest, GravityNotify, ResizeRequest, CirculateNotify,
640CirculateRequest, PropertyNotify, SelectionClear, SelectionRequest,
641SelectionNotify, ColormapNotify, ClientMessage, MappingNotify</a></strong><br />
542</dt> 642</dt>
543<dd> 643<dd>
544Various constants for use in X calls and event processing. 644Various constants for use in X calls and event processing.
545</dd> 645</dd>
546<p></p></dl> 646<p></p></dl>
635<p></p> 735<p></p>
636<dt><strong><a name="item_destroy">$term-&gt;destroy</a></strong><br /> 736<dt><strong><a name="item_destroy">$term-&gt;destroy</a></strong><br />
637</dt> 737</dt>
638<dd> 738<dd>
639Destroy the terminal object (close the window, free resources 739Destroy the terminal object (close the window, free resources
640etc.). Please note that rxvt will not exit as long as any event 740etc.). Please note that urxvt will not exit as long as any event
641watchers (timers, io watchers) are still active. 741watchers (timers, io watchers) are still active.
642</dd> 742</dd>
643<p></p> 743<p></p>
644<dt><strong><a name="item_option">$isset = $term-&gt;option ($optval[, $set])</a></strong><br /> 744<dt><strong><a name="item_option">$isset = $term-&gt;option ($optval[, $set])</a></strong><br />
645</dt> 745</dt>
720<p></p> 820<p></p>
721<dt><strong><a name="item_parse_keysym">$success = $term-&gt;parse_keysym ($keysym_spec, $command_string)</a></strong><br /> 821<dt><strong><a name="item_parse_keysym">$success = $term-&gt;parse_keysym ($keysym_spec, $command_string)</a></strong><br />
722</dt> 822</dt>
723<dd> 823<dd>
724Adds a keymap translation exactly as specified via a resource. See the 824Adds a keymap translation exactly as specified via a resource. See the
725<code>keysym</code> resource in the <code>rxvt(1)</code> manpage. 825<code>keysym</code> resource in the <code>urxvt(1)</code> manpage.
726</dd> 826</dd>
727<p></p> 827<p></p>
728<dt><strong><a name="item_rstyle">$rend = $term-&gt;rstyle ([$new_rstyle])</a></strong><br /> 828<dt><strong><a name="item_rstyle">$rend = $term-&gt;rstyle ([$new_rstyle])</a></strong><br />
729</dt> 829</dt>
730<dd> 830<dd>
919<p></p> 1019<p></p>
920<dt><strong><a name="item_vt">$windowid = $term-&gt;vt</a></strong><br /> 1020<dt><strong><a name="item_vt">$windowid = $term-&gt;vt</a></strong><br />
921</dt> 1021</dt>
922<dd> 1022<dd>
923Return the window id of the terminal window. 1023Return the window id of the terminal window.
1024</dd>
1025<p></p>
1026<dt><strong><a name="item_vt_emask_add">$term-&gt;vt_emask_add ($x_event_mask)</a></strong><br />
1027</dt>
1028<dd>
1029Adds the specified events to the vt event mask. Useful e.g. when you want
1030to receive pointer events all the times:
1031</dd>
1032<dd>
1033<pre>
1034 $term-&gt;vt_emask_add (urxvt::PointerMotionMask);</pre>
924</dd> 1035</dd>
925<p></p> 1036<p></p>
926<dt><strong><a name="item_width">$window_width = $term-&gt;width</a></strong><br /> 1037<dt><strong><a name="item_width">$window_width = $term-&gt;width</a></strong><br />
927</dt> 1038</dt>
928<dt><strong><a name="item_height">$window_height = $term-&gt;height</a></strong><br /> 1039<dt><strong><a name="item_height">$window_height = $term-&gt;height</a></strong><br />

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines