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.14 by root, Sat Jan 7 04:19:43 2006 UTC vs.
Revision 1.15 by root, Sun Jan 8 00:20:12 2006 UTC

22 <li><a href="#hooks">Hooks</a></li> 22 <li><a href="#hooks">Hooks</a></li>
23 <li><a href="#variables_in_the_urxvt_package">Variables in the <code>urxvt</code> Package</a></li> 23 <li><a href="#variables_in_the_urxvt_package">Variables in the <code>urxvt</code> Package</a></li>
24 <li><a href="#functions_in_the_urxvt_package">Functions in the <code>urxvt</code> Package</a></li> 24 <li><a href="#functions_in_the_urxvt_package">Functions in the <code>urxvt</code> Package</a></li>
25 <li><a href="#rendition">RENDITION</a></li> 25 <li><a href="#rendition">RENDITION</a></li>
26 <li><a href="#the_urxvt__term_class">The <code>urxvt::term</code> Class</a></li> 26 <li><a href="#the_urxvt__term_class">The <code>urxvt::term</code> Class</a></li>
27 <li><a href="#the_urxvt__popup_class">The <code>urxvt::popup</code> Class</a></li>
27 <li><a href="#the_urxvt__timer_class">The <code>urxvt::timer</code> Class</a></li> 28 <li><a href="#the_urxvt__timer_class">The <code>urxvt::timer</code> Class</a></li>
28 <li><a href="#the_urxvt__iow_class">The <code>urxvt::iow</code> Class</a></li> 29 <li><a href="#the_urxvt__iow_class">The <code>urxvt::iow</code> Class</a></li>
29 </ul> 30 </ul>
30 31
31 <li><a href="#environment">ENVIRONMENT</a></li> 32 <li><a href="#environment">ENVIRONMENT</a></li>
61 rxvt --perl-lib $HOME -pe grab_test</pre> 62 rxvt --perl-lib $HOME -pe grab_test</pre>
62<p> 63<p>
63</p> 64</p>
64<hr /> 65<hr />
65<h1><a name="description">DESCRIPTION</a></h1> 66<h1><a name="description">DESCRIPTION</a></h1>
66<p>Everytime a terminal object gets created, scripts specified via the 67<p>Everytime a terminal object gets created, extension scripts specified via
67<code>perl</code> resource are loaded and associated with it.</p> 68the <code>perl</code> resource are loaded and associated with it.</p>
68<p>Scripts are compiled in a 'use strict' and 'use utf8' environment, and 69<p>Scripts are compiled in a 'use strict' and 'use utf8' environment, and
69thus must be encoded as UTF-8.</p> 70thus must be encoded as UTF-8.</p>
70<p>Each script will only ever be loaded once, even in rxvtd, where 71<p>Each script will only ever be loaded once, even in rxvtd, where
71scripts will be shared (but not enabled) for all terminals.</p> 72scripts will be shared (but not enabled) for all terminals.</p>
72<p> 73<p>
169</p> 170</p>
170<h2><a name="hooks">Hooks</a></h2> 171<h2><a name="hooks">Hooks</a></h2>
171<p>The following subroutines can be declared in extension files, and will be 172<p>The following subroutines can be declared in extension files, and will be
172called whenever the relevant event happens.</p> 173called whenever the relevant event happens.</p>
173<p>The first argument passed to them is an object private to each terminal 174<p>The first argument passed to them is an object private to each terminal
174and extension package. You can call all <code>urxvt::term</code> methods on it, but 175and extension package. You can call all <code>urxvt::term</code> methods on it, but
175its not a real <code>urxvt::term</code> object. Instead, the real <code>urxvt::term</code> 176its not a real <code>urxvt::term</code> object. Instead, the real <code>urxvt::term</code>
176object that is shared between all packages is stored in the <code>term</code> 177object that is shared between all packages is stored in the <code>term</code>
177member.</p> 178member. It is, however, blessed intot he package of the extension script,
179so for all practical purposes you can treat an extension script as a class.</p>
178<p>All of them must return a boolean value. If it is true, then the event 180<p>All of them must return a boolean value. If it is true, then the event
179counts as being <em>consumed</em>, and the invocation of other hooks is skipped, 181counts as being <em>consumed</em>, and the invocation of other hooks is skipped,
180and the relevant action might not be carried out by the C++ code.</p> 182and the relevant action might not be carried out by the C++ code.</p>
181<p>When in doubt, return a false value (preferably <code>()</code>).</p> 183<p>When in doubt, return a false value (preferably <code>()</code>).</p>
182<dl> 184<dl>
236should extend the selection itelf and return true to suppress the built-in 238should extend the selection itelf and return true to suppress the built-in
237processing. 239processing.
238</dd> 240</dd>
239<dd> 241<dd>
240<p>See the <em>selection</em> example extension.</p> 242<p>See the <em>selection</em> example extension.</p>
241</dd>
242<p></p>
243<dt><strong><a name="item_on_focus_in__24term">on_focus_in $term</a></strong><br />
244</dt>
245<dd>
246Called whenever the window gets the keyboard focus, before urxvt does
247focus in processing.
248</dd>
249<p></p>
250<dt><strong><a name="item_on_focus_out__24term">on_focus_out $term</a></strong><br />
251</dt>
252<dd>
253Called wheneever the window loses keyboard focus, before urxvt does focus
254out processing.
255</dd> 243</dd>
256<p></p> 244<p></p>
257<dt><strong><a name="item_on_view_change__24term_2c__24offset">on_view_change $term, $offset</a></strong><br /> 245<dt><strong><a name="item_on_view_change__24term_2c__24offset">on_view_change $term, $offset</a></strong><br />
258</dt> 246</dt>
259<dd> 247<dd>
346Called whenever the user presses a key combination that has a 334Called whenever the user presses a key combination that has a
347<code>perl:string</code> action bound to it (see description of the <strong>keysym</strong> 335<code>perl:string</code> action bound to it (see description of the <strong>keysym</strong>
348resource in the <code>rxvt(1)</code> manpage). 336resource in the <code>rxvt(1)</code> manpage).
349</dd> 337</dd>
350<p></p> 338<p></p>
339<dt><strong><a name="item_on_focus_in__24term">on_focus_in $term</a></strong><br />
340</dt>
341<dd>
342Called whenever the window gets the keyboard focus, before rxvt-unicode
343does focus in processing.
344</dd>
345<p></p>
346<dt><strong><a name="item_on_focus_out__24term">on_focus_out $term</a></strong><br />
347</dt>
348<dd>
349Called wheneever the window loses keyboard focus, before rxvt-unicode does
350focus out processing.
351</dd>
352<p></p>
351<dt><strong><a name="item_on_key_press__24term_2c__24event_2c__24octets">on_key_press $term, $event, $octets</a></strong><br /> 353<dt><strong><a name="item_on_key_press__24term_2c__24event_2c__24octets">on_key_press $term, $event, $octets</a></strong><br />
352</dt> 354</dt>
353<dt><strong><a name="item_on_key_release__24term_2c__24event">on_key_release $term, $event</a></strong><br /> 355<dt><strong><a name="item_on_key_release__24term_2c__24event">on_key_release $term, $event</a></strong><br />
354</dt> 356</dt>
355<dt><strong><a name="item_on_button_press__24term_2c__24event">on_button_press $term, $event</a></strong><br /> 357<dt><strong><a name="item_on_button_press__24term_2c__24event">on_button_press $term, $event</a></strong><br />
356</dt> 358</dt>
357<dt><strong><a name="item_on_button_release__24term_2c__24event">on_button_release $term, $event</a></strong><br /> 359<dt><strong><a name="item_on_button_release__24term_2c__24event">on_button_release $term, $event</a></strong><br />
358</dt> 360</dt>
359<dt><strong><a name="item_on_motion_notify__24term_2c__24event">on_motion_notify $term, $event</a></strong><br /> 361<dt><strong><a name="item_on_motion_notify__24term_2c__24event">on_motion_notify $term, $event</a></strong><br />
362</dt>
363<dt><strong><a name="item_on_map_notify__24term_2c__24event">on_map_notify $term, $event</a></strong><br />
364</dt>
365<dt><strong><a name="item_on_unmap_notify__24term_2c__24event">on_unmap_notify $term, $event</a></strong><br />
360</dt> 366</dt>
361<dd> 367<dd>
362Called whenever the corresponding X event is received for the terminal If 368Called whenever the corresponding X event is received for the terminal If
363the hook returns true, then the even will be ignored by rxvt-unicode. 369the hook returns true, then the even will be ignored by rxvt-unicode.
364</dd> 370</dd>
422<p></p> 428<p></p>
423<dt><strong><a name="item__24time__3d_urxvt_3a_3anow">$time = urxvt::NOW</a></strong><br /> 429<dt><strong><a name="item__24time__3d_urxvt_3a_3anow">$time = urxvt::NOW</a></strong><br />
424</dt> 430</dt>
425<dd> 431<dd>
426Returns the ``current time'' (as per the event loop). 432Returns the ``current time'' (as per the event loop).
433</dd>
434<p></p>
435<dt><strong><a name="item_urxvt_3a_3acurrenttime">urxvt::CurrentTime</a></strong><br />
436</dt>
437<dt><strong><a name="item_urxvt_3a_3ashiftmask_2c_lockmask_2c_controlmask_2c">urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask,
438Mod3Mask, Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask,
439Button4Mask, Button5Mask, AnyModifier</a></strong><br />
440</dt>
441<dd>
442Various constants for use in X events.
427</dd> 443</dd>
428<p></p></dl> 444<p></p></dl>
429<p> 445<p>
430</p> 446</p>
431<h2><a name="rendition">RENDITION</a></h2> 447<h2><a name="rendition">RENDITION</a></h2>
496</dt> 512</dt>
497<dd> 513<dd>
498Destroy the terminal object (close the window, free resources etc.). 514Destroy the terminal object (close the window, free resources etc.).
499</dd> 515</dd>
500<p></p> 516<p></p>
517<dt><strong><a name="item_option">$isset = $term-&gt;option ($optval[, $set])</a></strong><br />
518</dt>
519<dd>
520Returns true if the option specified by <code>$optval</code> is enabled, and
521optionally change it. All option values are stored by name in the hash
522<code>%urxvt::OPTION</code>. Options not enabled in this binary are not in the hash.
523</dd>
524<dd>
525<p>Here is a a likely non-exhaustive list of option names, please see the
526source file <em>/src/optinc.h</em> to see the actual list:</p>
527</dd>
528<dd>
529<pre>
530 borderLess console cursorBlink cursorUnderline hold iconic insecure
531 intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage
532 pastableTabs pointerBlank reverseVideo scrollBar scrollBar_floating
533 scrollBar_right scrollTtyKeypress scrollTtyOutput scrollWithBuffer
534 secondaryScreen secondaryScroll skipBuiltinGlyphs transparent
535 tripleclickwords utmpInhibit visualBell</pre>
536</dd>
537<p></p>
501<dt><strong><a name="item_resource">$value = $term-&gt;resource ($name[, $newval])</a></strong><br /> 538<dt><strong><a name="item_resource">$value = $term-&gt;resource ($name[, $newval])</a></strong><br />
502</dt> 539</dt>
503<dd> 540<dd>
504Returns the current resource value associated with a given name and 541Returns the current resource value associated with a given name and
505optionally sets a new value. Setting values is most useful in the <code>init</code> 542optionally sets a new value. Setting values is most useful in the <code>init</code>
519<p>Please note that resource strings will currently only be freed when the 556<p>Please note that resource strings will currently only be freed when the
520terminal is destroyed, so changing options frequently will eat memory.</p> 557terminal is destroyed, so changing options frequently will eat memory.</p>
521</dd> 558</dd>
522<dd> 559<dd>
523<p>Here is a a likely non-exhaustive list of resource names, not all of which 560<p>Here is a a likely non-exhaustive list of resource names, not all of which
524are supported in every build, please see the source to see the actual 561are supported in every build, please see the source file <em>/src/rsinc.h</em>
525list:</p> 562to see the actual list:</p>
526</dd> 563</dd>
527<dd> 564<dd>
528<pre> 565<pre>
529 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont 566 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont
530 borderLess color cursorBlink cursorUnderline cutchars delete_key 567 borderLess color cursorBlink cursorUnderline cutchars delete_key
640</dt> 677</dt>
641<dd> 678<dd>
642If hidden, display the overlay again. 679If hidden, display the overlay again.
643</dd> 680</dd>
644<p></p></dl> 681<p></p></dl>
682<dt><strong><a name="item_popup">$popup = $term-&gt;popup ($event)</a></strong><br />
683</dt>
684<dd>
685Creates a new <code>urxvt::popup</code> object that implements a popup menu. The
686<code>$event</code> <em>must</em> be the event causing the menu to pop up (a button event,
687currently).
688</dd>
689<p></p>
645<dt><strong><a name="item_strwidth">$cellwidth = $term-&gt;strwidth ($string)</a></strong><br /> 690<dt><strong><a name="item_strwidth">$cellwidth = $term-&gt;strwidth ($string)</a></strong><br />
646</dt> 691</dt>
647<dd> 692<dd>
648Returns the number of screen-cells this string would need. Correctly 693Returns the number of screen-cells this string would need. Correctly
649accounts for wide and combining characters. 694accounts for wide and combining characters.
727</dt> 772</dt>
728<dt><strong><a name="item_nsaved">$lines_in_scrollback = $term-&gt;nsaved</a></strong><br /> 773<dt><strong><a name="item_nsaved">$lines_in_scrollback = $term-&gt;nsaved</a></strong><br />
729</dt> 774</dt>
730<dd> 775<dd>
731Return various integers describing terminal characteristics. 776Return various integers describing terminal characteristics.
777</dd>
778<p></p>
779<dt><strong><a name="item_modlevel3mask">$modifiermask = $term-&gt;ModLevel3Mask</a></strong><br />
780</dt>
781<dt><strong><a name="item_modmetamask">$modifiermask = $term-&gt;ModMetaMask</a></strong><br />
782</dt>
783<dt><strong><a name="item_modnumlockmask">$modifiermask = $term-&gt;ModNumLockMask</a></strong><br />
784</dt>
785<dd>
786Return the modifier masks corresponding to the ``ISO Level 3 Shift'' (often
787AltGr), the meta key (often Alt) and the num lock key, if applicable.
732</dd> 788</dd>
733<p></p> 789<p></p>
734<dt><strong><a name="item_view_start">$view_start = $term-&gt;view_start ([$newvalue])</a></strong><br /> 790<dt><strong><a name="item_view_start">$view_start = $term-&gt;view_start ([$newvalue])</a></strong><br />
735</dt> 791</dt>
736<dd> 792<dd>
874<dd> 930<dd>
875Converts rxvt-unicodes text reprsentation into a perl string. See 931Converts rxvt-unicodes text reprsentation into a perl string. See
876<a href="#item_row_t"><code>$term-&gt;ROW_t</code></a> for details. 932<a href="#item_row_t"><code>$term-&gt;ROW_t</code></a> for details.
877</dd> 933</dd>
878<p></p></dl> 934<p></p></dl>
935<p>
936</p>
937<h2><a name="the_urxvt__popup_class">The <code>urxvt::popup</code> Class</a></h2>
879<p> 938<p>
880</p> 939</p>
881<h2><a name="the_urxvt__timer_class">The <code>urxvt::timer</code> Class</a></h2> 940<h2><a name="the_urxvt__timer_class">The <code>urxvt::timer</code> Class</a></h2>
882<p>This class implements timer watchers/events. Time is represented as a 941<p>This class implements timer watchers/events. Time is represented as a
883fractional number of seconds since the epoch. Example:</p> 942fractional number of seconds since the epoch. Example:</p>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines