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

Comparing rxvt-unicode/doc/rxvtperl.3.txt (file contents):
Revision 1.23 by root, Thu Jan 12 05:37:34 2006 UTC vs.
Revision 1.32 by root, Fri Jan 20 16:02:20 2006 UTC

28 can find them in /opt/rxvt/lib/urxvt/perl/. 28 can find them in /opt/rxvt/lib/urxvt/perl/.
29 29
30 You can activate them like this: 30 You can activate them like this:
31 31
32 rxvt -pe <extensionname> 32 rxvt -pe <extensionname>
33
34 Or by adding them to the resource for extensions loaded by default:
35
36 URxvt.perl-ext-common: default,automove-background,selection-autotransform
33 37
34 selection (enabled by default) 38 selection (enabled by default)
35 (More) intelligent selection. This extension tries to be more 39 (More) intelligent selection. This extension tries to be more
36 intelligent when the user extends selections (double-click and 40 intelligent when the user extends selections (double-click and
37 further clicks). Right now, it tries to select words, urls and 41 further clicks). Right now, it tries to select words, urls and
39 your ls supports "--quoting-style=shell". 43 your ls supports "--quoting-style=shell".
40 44
41 A double-click usually selects the word under the cursor, further 45 A double-click usually selects the word under the cursor, further
42 clicks will enlarge the selection. 46 clicks will enlarge the selection.
43 47
48 The selection works by trying to match a number of regexes and
49 displaying them in increasing order of length. You can add your own
50 regexes by specifying resources of the form:
51
52 URxvt.selection.pattern-0: perl-regex
53 URxvt.selection.pattern-1: perl-regex
54 ...
55
56 The index number (0, 1...) must not have any holes, and each regex
57 must contain at least one pair of capturing parentheses, which will
58 be used for the match. For example, the followign adds a regex that
59 matches everything between two vertical bars:
60
61 URxvt.selection.pattern-0: \\|([^|]+)\\|
62
63 You can look at the source of the selection extension to see more
64 interesting uses, such as parsing a line from beginning to end.
65
44 It also offers the following bindable keyboard command: 66 This extension also offers following bindable keyboard commands:
45 67
46 rot13 68 rot13
47 Rot-13 the selection when activated. Used via keyboard trigger: 69 Rot-13 the selection when activated. Used via keyboard trigger:
48 70
49 URxvt.keysym.C-M-r: perl:selection:rot13 71 URxvt.keysym.C-M-r: perl:selection:rot13
55 selection-popup (enabled by default) 77 selection-popup (enabled by default)
56 Binds a popup menu to Ctrl-Button3 that lets you convert the 78 Binds a popup menu to Ctrl-Button3 that lets you convert the
57 selection text into various other formats/action (such as uri 79 selection text into various other formats/action (such as uri
58 unescaping, perl evalution, web-browser starting etc.), depending on 80 unescaping, perl evalution, web-browser starting etc.), depending on
59 content. 81 content.
82
83 Other extensions can extend this popup menu by pushing a code
84 reference onto "@{ $term-"{selection_popup_hook} }>, that is called
85 whenever the popup is displayed.
86
87 It's sole argument is the popup menu, which can be modified. The
88 selection is in $_, which can be used to decide wether to add
89 something or not. It should either return nothing or a string and a
90 code reference. The string will be used as button text and the code
91 reference will be called when the button gets activated and should
92 transform $_.
93
94 The following will add an entry "a to b" that transforms all "a"s in
95 the selection to "b"s, but only if the selection currently contains
96 any "a"s:
97
98 push @{ $self->{term}{selection_popup_hook} }, sub {
99 /a/ ? ("a to be" => sub { s/a/b/g }
100 : ()
101 };
60 102
61 searchable-scrollback<hotkey> (enabled by default) 103 searchable-scrollback<hotkey> (enabled by default)
62 Adds regex search functionality to the scrollback buffer, triggered 104 Adds regex search functionality to the scrollback buffer, triggered
63 by a hotkey (default: "M-s"). While in search mode, normal terminal 105 by a hotkey (default: "M-s"). While in search mode, normal terminal
64 input/output is suspended and a regex is displayed at the bottom of 106 input/output is suspended and a regex is displayed at the bottom of
70 "End" jumps to the bottom. "Escape" leaves search mode and returns 112 "End" jumps to the bottom. "Escape" leaves search mode and returns
71 to the point where search was started, while "Enter" or "Return" 113 to the point where search was started, while "Enter" or "Return"
72 stay at the current position and additionally stores the first match 114 stay at the current position and additionally stores the first match
73 in the current line into the primary selection. 115 in the current line into the primary selection.
74 116
75 digital-clock 117 selection-autotransform
76 Displays a digital clock using the built-in overlay. 118 This selection allows you to do automatic transforms on a selection
119 whenever a selection is made.
120
121 It works by specifying perl snippets (most useful is a single "s///"
122 operator) that modify $_ as resources:
123
124 URxvt.selection-autotransform.0: transform
125 URxvt.selection-autotransform.1: transform
126 ...
127
128 For example, the following will transform selections of the form
129 "filename:number", often seen in compiler messages, into "vi
130 +$filename $word":
131
132 URxvt.selection-autotransform.0: s/^([^:[:space:]]+):(\\d+):?$/vi +$2 \\Q$1\\E\\x0d/
133
134 And this example matches the same,but replaces it with vi-commands
135 you can paste directly into your (vi :) editor:
136
137 URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\\d+):?$/:e \\Q$1\\E\\x0d:$2\\x0d/
138
139 Of course, this can be modified to suit your needs and your editor
140 :)
141
142 To expand the example above to typical perl error messages ("XXX at
143 FILENAME line YYY."), you need a slightly more elaborate solution:
144
145 URxvt.selection.pattern-0: ( at .*? line \\d+[,.])
146 URxvt.selection-autotransform.0: s/^ at (.*?) line (\\d+)[,.]$/:e \\Q$1\E\\x0d:$2\\x0d/
147
148 The first line tells the selection code to treat the unchanging part
149 of every error message as a selection pattern, and the second line
150 transforms the message into vi commands to load the file.
151
152 tabbed
153 This transforms the terminal into a tabbar with additional
154 terminals, that is, it implements what is commonly refered to as
155 "tabbed terminal". The topmost line displays a "[NEW]" button,
156 which, when clicked, will add a new tab, followed by one button per
157 tab.
158
159 Clicking a button will activate that tab. Pressing Shift-Left and
160 Shift-Right will switch to the tab left or right of the current one.
77 161
78 mark-urls 162 mark-urls
79 Uses per-line display filtering ("on_line_update") to underline urls 163 Uses per-line display filtering ("on_line_update") to underline urls
80 and make them clickable. When middle-clicked, the program specified 164 and make them clickable. When middle-clicked, the program specified
81 in the resource "urlLauncher" (default "x-www-browser") will be 165 in the resource "urlLauncher" (default "x-www-browser") will be
82 started with the URL as first argument. 166 started with the URL as first argument.
83 167
168 automove-background
169 This is basically a one-line extension that dynamically changes the
170 background pixmap offset to the window position, in effect creating
171 the same effect as pseudo transparency with a custom pixmap. No
172 scaling is supported in this mode. Exmaple:
173
174 rxvt -pixmap background.xpm -pe automove-background
175
84 block-graphics-to-ascii 176 block-graphics-to-ascii
85 A not very useful example of filtering all text output to the 177 A not very useful example of filtering all text output to the
86 terminal, by replacing all line-drawing characters (U+2500 .. 178 terminal, by replacing all line-drawing characters (U+2500 ..
87 U+259F) by a similar-looking ascii character. 179 U+259F) by a similar-looking ascii character.
88 180
181 digital-clock
182 Displays a digital clock using the built-in overlay.
183
89 example-refresh-hooks 184 example-refresh-hooks
90 Displays a very simple digital clock in the upper right corner of 185 Displays a very simple digital clock in the upper right corner of
91 the window. Illustrates overwriting the refresh callbacks to create 186 the window. Illustrates overwriting the refresh callbacks to create
92 your own overlays or changes. 187 your own overlays or changes.
188
189 selection-pastebin
190 This is a little rarely useful extension that Uploads the selection
191 as textfile to a remote site (or does other things). (The
192 implementation is not currently secure for use in a multiuser
193 environment as it writes to /tmp directly.).
194
195 It listens to the "selection-pastebin:remote-pastebin" keyboard
196 command, i.e.
197
198 URxvt.keysym.C-M-e: perl:selection-pastebin:remote-pastebin
199
200 Pressing this combination runs a command with "%" replaced by the
201 name of the textfile. This command can be set via a resource:
202
203 URxvt.selection-pastebin.cmd: rsync -apP % ruth:/var/www/www.ta-sa.org/files/txt/.
204
205 And the default is likely not useful to anybody but the few people
206 around here :)
207
208 The name of the textfile is the hex encoded md5 sum of the
209 selection, so the same content should lead to the same filename.
210
211 After a successful upload the selection will be replaced by the text
212 given in the "selection-pastebin-url" resource (again, the % is the
213 placeholder for the filename):
214
215 URxvt.selection-pastebin.url: http://www.ta-sa.org/files/txt/%
93 216
94API DOCUMENTATION 217API DOCUMENTATION
95 General API Considerations 218 General API Considerations
96 All objects (such as terminals, time watchers etc.) are typical 219 All objects (such as terminals, time watchers etc.) are typical
97 reference-to-hash objects. The hash can be used to store anything you 220 reference-to-hash objects. The hash can be used to store anything you
151 be called whenever the relevant event happens. 274 be called whenever the relevant event happens.
152 275
153 The first argument passed to them is an extension oject as described in 276 The first argument passed to them is an extension oject as described in
154 the in the "Extension Objects" section. 277 the in the "Extension Objects" section.
155 278
156 All of these hooks must return a boolean value. If it is true, then the 279 All of these hooks must return a boolean value. If any of the called
157 event counts as being *consumed*, and the invocation of other hooks is 280 hooks returns true, then the event counts as being *consumed*, and the
158 skipped, and the relevant action might not be carried out by the C++ 281 relevant action might not be carried out by the C++ code.
159 code.
160 282
161 *When in doubt, return a false value (preferably "()").* 283 *When in doubt, return a false value (preferably "()").*
162 284
163 on_init $term 285 on_init $term
164 Called after a new terminal object has been initialized, but before 286 Called after a new terminal object has been initialized, but before
165 windows are created or the command gets run. Most methods are unsafe 287 windows are created or the command gets run. Most methods are unsafe
166 to call or deliver senseless data, as terminal size and other 288 to call or deliver senseless data, as terminal size and other
167 characteristics have not yet been determined. You can safely query 289 characteristics have not yet been determined. You can safely query
168 and change resources, though. 290 and change resources and options, though. For many purposes the
291 "on_start" hook is a better place.
292
293 on_start $term
294 Called at the very end of initialisation of a new terminal, just
295 before trying to map (display) the toplevel and returning to the
296 mainloop.
297
298 on_destroy $term
299 Called whenever something tries to destroy terminal, before doing
300 anything yet. If this hook returns true, then destruction is
301 skipped, but this is rarely a good idea.
169 302
170 on_reset $term 303 on_reset $term
171 Called after the screen is "reset" for any reason, such as resizing 304 Called after the screen is "reset" for any reason, such as resizing
172 or control sequences. Here is where you can react on changes to 305 or control sequences. Here is where you can react on changes to
173 size-related variables. 306 size-related variables.
174 307
175 on_start $term 308 on_child_start $term, $pid
176 Called at the very end of initialisation of a new terminal, just 309 Called just after the child process has been "fork"ed.
177 before returning to the mainloop. 310
311 on_child_exit $term, $status
312 Called just after the child process has exited. $status is the
313 status from "waitpid".
178 314
179 on_sel_make $term, $eventtime 315 on_sel_make $term, $eventtime
180 Called whenever a selection has been made by the user, but before 316 Called whenever a selection has been made by the user, but before
181 the selection text is copied, so changes to the beginning, end or 317 the selection text is copied, so changes to the beginning, end or
182 type of the selection will be honored. 318 type of the selection will be honored.
267 on_keyboard_command $term, $string 403 on_keyboard_command $term, $string
268 Called whenever the user presses a key combination that has a 404 Called whenever the user presses a key combination that has a
269 "perl:string" action bound to it (see description of the keysym 405 "perl:string" action bound to it (see description of the keysym
270 resource in the rxvt(1) manpage). 406 resource in the rxvt(1) manpage).
271 407
408 on_x_event $term, $event
409 Called on every X event received on the vt window (and possibly
410 other windows). Should only be used as a last resort. Most event
411 structure members are not passed.
412
272 on_focus_in $term 413 on_focus_in $term
273 Called whenever the window gets the keyboard focus, before 414 Called whenever the window gets the keyboard focus, before
274 rxvt-unicode does focus in processing. 415 rxvt-unicode does focus in processing.
275 416
276 on_focus_out $term 417 on_focus_out $term
277 Called wheneever the window loses keyboard focus, before 418 Called wheneever the window loses keyboard focus, before
278 rxvt-unicode does focus out processing. 419 rxvt-unicode does focus out processing.
279 420
421 on_configure_notify $term, $event
280 on_key_press $term, $event, $keysym, $octets 422 on_key_press $term, $event, $keysym, $octets
281 on_key_release $term, $event, $keysym 423 on_key_release $term, $event, $keysym
282 on_button_press $term, $event 424 on_button_press $term, $event
283 on_button_release $term, $event 425 on_button_release $term, $event
284 on_motion_notify $term, $event 426 on_motion_notify $term, $event
295 "on_key_press" additionally receives the string rxvt-unicode would 437 "on_key_press" additionally receives the string rxvt-unicode would
296 output, if any, in locale-specific encoding. 438 output, if any, in locale-specific encoding.
297 439
298 subwindow. 440 subwindow.
299 441
442 on_client_message $term, $event
443 on_wm_protocols $term, $event
444 on_wm_delete_window $term, $event
445 Called when various types of ClientMessage events are received (all
446 with format=32, WM_PROTOCOLS or WM_PROTOCOLS:WM_DELETE_WINDOW).
447
300 Variables in the "urxvt" Package 448 Variables in the "urxvt" Package
301 $urxvt::LIBDIR 449 $urxvt::LIBDIR
302 The rxvt-unicode library directory, where, among other things, the 450 The rxvt-unicode library directory, where, among other things, the
303 perl modules and scripts are stored. 451 perl modules and scripts are stored.
304 452
310 The basename of the installed binaries, usually "urxvt". 458 The basename of the installed binaries, usually "urxvt".
311 459
312 $urxvt::TERM 460 $urxvt::TERM
313 The current terminal. This variable stores the current "urxvt::term" 461 The current terminal. This variable stores the current "urxvt::term"
314 object, whenever a callback/hook is executing. 462 object, whenever a callback/hook is executing.
463
464 @urxvt::TERM_INIT
465 All coderefs in this array will be called as methods of the next
466 newly created "urxvt::term" object (during the "on_init" phase). The
467 array gets cleared before the codereferences that were in it are
468 being executed, so coderefs can push themselves onto it again if
469 they so desire.
470
471 This complements to the perl-eval commandline option, but gets
472 executed first.
473
474 @urxvt::TERM_EXT
475 Works similar to @TERM_INIT, but contains perl package/class names,
476 which get registered as normal extensions after calling the hooks in
477 @TERM_INIT but before other extensions. Gets cleared just like
478 @TERM_INIT.
315 479
316 Functions in the "urxvt" Package 480 Functions in the "urxvt" Package
317 urxvt::fatal $errormessage 481 urxvt::fatal $errormessage
318 Fatally aborts execution with the given error message. Avoid at all 482 Fatally aborts execution with the given error message. Avoid at all
319 costs! The only time this is acceptable is when the terminal process 483 costs! The only time this is acceptable is when the terminal process
327 Using this function has the advantage that its output ends up in the 491 Using this function has the advantage that its output ends up in the
328 correct place, e.g. on stderr of the connecting urxvtc client. 492 correct place, e.g. on stderr of the connecting urxvtc client.
329 493
330 Messages have a size limit of 1023 bytes currently. 494 Messages have a size limit of 1023 bytes currently.
331 495
332 $is_safe = urxvt::safe
333 Returns true when it is safe to do potentially unsafe things, such
334 as evaluating perl code specified by the user. This is true when
335 urxvt was started setuid or setgid.
336
337 $time = urxvt::NOW 496 $time = urxvt::NOW
338 Returns the "current time" (as per the event loop). 497 Returns the "current time" (as per the event loop).
339 498
340 urxvt::CurrentTime 499 urxvt::CurrentTime
341 urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, 500 urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask,
342 Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask, 501 Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask,
343 Button5Mask, AnyModifier 502 Button5Mask, AnyModifier
503 urxvt::NoEventMask, KeyPressMask, KeyReleaseMask, ButtonPressMask,
504 ButtonReleaseMask, EnterWindowMask, LeaveWindowMask, PointerMotionMask,
505 PointerMotionHintMask, Button1MotionMask, Button2MotionMask,
506 Button3MotionMask, Button4MotionMask, Button5MotionMask,
507 ButtonMotionMask, KeymapStateMask, ExposureMask, VisibilityChangeMask,
508 StructureNotifyMask, ResizeRedirectMask, SubstructureNotifyMask,
509 SubstructureRedirectMask, FocusChangeMask, PropertyChangeMask,
510 ColormapChangeMask, OwnerGrabButtonMask
511 urxvt::KeyPress, KeyRelease, ButtonPress, ButtonRelease, MotionNotify,
512 EnterNotify, LeaveNotify, FocusIn, FocusOut, KeymapNotify, Expose,
513 GraphicsExpose, NoExpose, VisibilityNotify, CreateNotify, DestroyNotify,
514 UnmapNotify, MapNotify, MapRequest, ReparentNotify, ConfigureNotify,
515 ConfigureRequest, GravityNotify, ResizeRequest, CirculateNotify,
516 CirculateRequest, PropertyNotify, SelectionClear, SelectionRequest,
517 SelectionNotify, ColormapNotify, ClientMessage, MappingNotify
344 Various constants for use in X calls and event processing. 518 Various constants for use in X calls and event processing.
345 519
346 RENDITION 520 RENDITION
347 Rendition bitsets contain information about colour, font, font styles 521 Rendition bitsets contain information about colour, font, font styles
348 and similar information for each screen cell. 522 and similar information for each screen cell.
404 $term->destroy 578 $term->destroy
405 Destroy the terminal object (close the window, free resources etc.). 579 Destroy the terminal object (close the window, free resources etc.).
406 Please note that rxvt will not exit as long as any event watchers 580 Please note that rxvt will not exit as long as any event watchers
407 (timers, io watchers) are still active. 581 (timers, io watchers) are still active.
408 582
583 $term->exec_async ($cmd[, @args])
584 Works like the combination of the "fork"/"exec" builtins, which
585 executes ("starts") programs in the background. This function takes
586 care of setting the user environment before exec'ing the command
587 (e.g. "PATH") and should be preferred over explicit calls to "exec"
588 or "system".
589
590 Returns the pid of the subprocess or "undef" on error.
591
409 $isset = $term->option ($optval[, $set]) 592 $isset = $term->option ($optval[, $set])
410 Returns true if the option specified by $optval is enabled, and 593 Returns true if the option specified by $optval is enabled, and
411 optionally change it. All option values are stored by name in the 594 optionally change it. All option values are stored by name in the
412 hash %urxvt::OPTION. Options not enabled in this binary are not in 595 hash %urxvt::OPTION. Options not enabled in this binary are not in
413 the hash. 596 the hash.
415 Here is a a likely non-exhaustive list of option names, please see 598 Here is a a likely non-exhaustive list of option names, please see
416 the source file /src/optinc.h to see the actual list: 599 the source file /src/optinc.h to see the actual list:
417 600
418 borderLess console cursorBlink cursorUnderline hold iconic insecure 601 borderLess console cursorBlink cursorUnderline hold iconic insecure
419 intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage 602 intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage
420 pastableTabs pointerBlank reverseVideo scrollBar scrollBar_floating 603 override-redirect pastableTabs pointerBlank reverseVideo scrollBar
421 scrollBar_right scrollTtyKeypress scrollTtyOutput scrollWithBuffer 604 scrollBar_floating scrollBar_right scrollTtyKeypress scrollTtyOutput
422 secondaryScreen secondaryScroll skipBuiltinGlyphs transparent 605 scrollWithBuffer secondaryScreen secondaryScroll skipBuiltinGlyphs
423 tripleclickwords utmpInhibit visualBell 606 transparent tripleclickwords utmpInhibit visualBell
424 607
425 $value = $term->resource ($name[, $newval]) 608 $value = $term->resource ($name[, $newval])
426 Returns the current resource value associated with a given name and 609 Returns the current resource value associated with a given name and
427 optionally sets a new value. Setting values is most useful in the 610 optionally sets a new value. Setting values is most useful in the
428 "init" hook. Unset resources are returned and accepted as "undef". 611 "init" hook. Unset resources are returned and accepted as "undef".
445 628
446 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont 629 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont
447 borderLess color cursorBlink cursorUnderline cutchars delete_key 630 borderLess color cursorBlink cursorUnderline cutchars delete_key
448 display_name embed ext_bwidth fade font geometry hold iconName 631 display_name embed ext_bwidth fade font geometry hold iconName
449 imFont imLocale inputMethod insecure int_bwidth intensityStyles 632 imFont imLocale inputMethod insecure int_bwidth intensityStyles
450 italicFont jumpScroll lineSpace loginShell mapAlert menu meta8 modifier 633 italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier
451 mouseWheelScrollPage name pastableTabs path perl_eval perl_ext_1 perl_ext_2 634 mouseWheelScrollPage name override_redirect pastableTabs path perl_eval
452 perl_lib pointerBlank pointerBlankDelay preeditType print_pipe pty_fd 635 perl_ext_1 perl_ext_2 perl_lib pointerBlank pointerBlankDelay
453 reverseVideo saveLines scrollBar scrollBar_align scrollBar_floating 636 preeditType print_pipe pty_fd reverseVideo saveLines scrollBar
454 scrollBar_right scrollBar_thickness scrollTtyKeypress scrollTtyOutput 637 scrollBar_align scrollBar_floating scrollBar_right scrollBar_thickness
455 scrollWithBuffer scrollstyle secondaryScreen secondaryScroll selectstyle 638 scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle
639 secondaryScreen secondaryScroll selectstyle shade term_name title
456 shade term_name title transparent transparent_all tripleclickwords 640 transient_for transparent transparent_all tripleclickwords utmpInhibit
457 utmpInhibit visualBell 641 visualBell
458 642
459 $value = $term->x_resource ($pattern) 643 $value = $term->x_resource ($pattern)
460 Returns the X-Resource for the given pattern, excluding the program 644 Returns the X-Resource for the given pattern, excluding the program
461 or class name, i.e. "$term->x_resource ("boldFont")" should return 645 or class name, i.e. "$term->x_resource ("boldFont")" should return
462 the same value as used by this instance of rxvt-unicode. Returns 646 the same value as used by this instance of rxvt-unicode. Returns
595 $windowid = $term->parent 779 $windowid = $term->parent
596 Return the window id of the toplevel window. 780 Return the window id of the toplevel window.
597 781
598 $windowid = $term->vt 782 $windowid = $term->vt
599 Return the window id of the terminal window. 783 Return the window id of the terminal window.
784
785 $term->vt_emask_add ($x_event_mask)
786 Adds the specified events to the vt event mask. Useful e.g. when you
787 want to receive pointer events all the times:
788
789 $term->vt_emask_add (urxvt::PointerMotionMask);
600 790
601 $window_width = $term->width 791 $window_width = $term->width
602 $window_height = $term->height 792 $window_height = $term->height
603 $font_width = $term->fwidth 793 $font_width = $term->fwidth
604 $font_height = $term->fheight 794 $font_height = $term->fheight
607 $terminal_columns = $term->ncol 797 $terminal_columns = $term->ncol
608 $has_focus = $term->focus 798 $has_focus = $term->focus
609 $is_mapped = $term->mapped 799 $is_mapped = $term->mapped
610 $max_scrollback = $term->saveLines 800 $max_scrollback = $term->saveLines
611 $nrow_plus_saveLines = $term->total_rows 801 $nrow_plus_saveLines = $term->total_rows
612 $lines_in_scrollback = $term->nsaved 802 $topmost_scrollback_row = $term->top_row
613 Return various integers describing terminal characteristics. 803 Return various integers describing terminal characteristics.
614 804
615 $x_display = $term->display_id 805 $x_display = $term->display_id
616 Return the DISPLAY used by rxvt-unicode. 806 Return the DISPLAY used by rxvt-unicode.
617 807
628 Return the modifier masks corresponding to the "ISO Level 3 Shift" 818 Return the modifier masks corresponding to the "ISO Level 3 Shift"
629 (often AltGr), the meta key (often Alt) and the num lock key, if 819 (often AltGr), the meta key (often Alt) and the num lock key, if
630 applicable. 820 applicable.
631 821
632 $view_start = $term->view_start ([$newvalue]) 822 $view_start = $term->view_start ([$newvalue])
633 Returns the negative row number of the topmost line. Minimum value 823 Returns the row number of the topmost displayed line. Maximum value
634 is 0, which displays the normal terminal contents. Larger values 824 is 0, which displays the normal terminal contents. Lower values
635 scroll this many lines into the scrollback buffer. 825 scroll this many lines into the scrollback buffer.
636 826
637 $term->want_refresh 827 $term->want_refresh
638 Requests a screen refresh. At the next opportunity, rxvt-unicode 828 Requests a screen refresh. At the next opportunity, rxvt-unicode
639 will compare the on-screen display with its stored representation. 829 will compare the on-screen display with its stored representation.
800 $timer = $timer->start 990 $timer = $timer->start
801 Start the timer. 991 Start the timer.
802 992
803 $timer = $timer->start ($tstamp) 993 $timer = $timer->start ($tstamp)
804 Set the event trigger time to $tstamp and start the timer. 994 Set the event trigger time to $tstamp and start the timer.
995
996 $timer = $timer->after ($delay)
997 Like "start", but sets the expiry timer to c<urxvt::NOW + $delay>.
805 998
806 $timer = $timer->stop 999 $timer = $timer->stop
807 Stop the timer. 1000 Stop the timer.
808 1001
809 The "urxvt::iow" Class 1002 The "urxvt::iow" Class
841 Start watching for requested events on the given handle. 1034 Start watching for requested events on the given handle.
842 1035
843 $iow = $iow->stop 1036 $iow = $iow->stop
844 Stop watching for events on the given filehandle. 1037 Stop watching for events on the given filehandle.
845 1038
1039 The "urxvt::iw" Class
1040 This class implements idle watchers, that get called automatically when
1041 the process is idle. They should return as fast as possible, after doing
1042 some useful work.
1043
1044 $iw = new urxvt::iw
1045 Create a new idle watcher object in stopped state.
1046
1047 $iw = $iw->cb (sub { my ($iw) = @_; ... })
1048 Set the callback to be called when the watcher triggers.
1049
1050 $timer = $timer->start
1051 Start the watcher.
1052
1053 $timer = $timer->stop
1054 Stop the watcher.
1055
1056 The "urxvt::pw" Class
1057 This class implements process watchers. They create an event whenever a
1058 process exits, after which they stop automatically.
1059
1060 my $pid = fork;
1061 ...
1062 $term->{pw} = urxvt::pw
1063 ->new
1064 ->start ($pid)
1065 ->cb (sub {
1066 my ($pw, $exit_status) = @_;
1067 ...
1068 });
1069
1070 $pw = new urxvt::pw
1071 Create a new process watcher in stopped state.
1072
1073 $pw = $pw->cb (sub { my ($pw, $exit_status) = @_; ... })
1074 Set the callback to be called when the timer triggers.
1075
1076 $pw = $timer->start ($pid)
1077 Tells the wqtcher to start watching for process $pid.
1078
1079 $pw = $pw->stop
1080 Stop the watcher.
1081
846ENVIRONMENT 1082ENVIRONMENT
847 URXVT_PERL_VERBOSITY 1083 URXVT_PERL_VERBOSITY
848 This variable controls the verbosity level of the perl extension. Higher 1084 This variable controls the verbosity level of the perl extension. Higher
849 numbers indicate more verbose output. 1085 numbers indicate more verbose output.
850 1086

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines