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.33 by root, Fri Jan 20 22:49:34 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
53 options at runtime. 75 options at runtime.
54 76
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 evaluation, web-browser starting etc.), depending
59 content. 81 on 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 readline
153 A support package that tries to make editing with readline easier.
154 At the moment, it reacts to clicking with the left mouse button by
155 trying to move the text cursor to this position. It does so by
156 generating as many cursor-left or cursor-right keypresses as
157 required (the this only works for programs that correctly support
158 wide characters).
159
160 It only works when clicking into the same line (possibly extended
161 over multiple rows) as the text cursor and on the primary screen, to
162 reduce the risk of misinterpreting. The normal selection isn't
163 disabled, so quick successive clicks might interfere with selection
164 creation in harmless ways.
165
166 tabbed
167 This transforms the terminal into a tabbar with additional
168 terminals, that is, it implements what is commonly refered to as
169 "tabbed terminal". The topmost line displays a "[NEW]" button,
170 which, when clicked, will add a new tab, followed by one button per
171 tab.
172
173 Clicking a button will activate that tab. Pressing Shift-Left and
174 Shift-Right will switch to the tab left or right of the current one,
175 while Shift-Down creates a new tab.
77 176
78 mark-urls 177 mark-urls
79 Uses per-line display filtering ("on_line_update") to underline urls 178 Uses per-line display filtering ("on_line_update") to underline urls
80 and make them clickable. When middle-clicked, the program specified 179 and make them clickable. When middle-clicked, the program specified
81 in the resource "urlLauncher" (default "x-www-browser") will be 180 in the resource "urlLauncher" (default "x-www-browser") will be
82 started with the URL as first argument. 181 started with the URL as first argument.
83 182
183 automove-background
184 This is basically a one-line extension that dynamically changes the
185 background pixmap offset to the window position, in effect creating
186 the same effect as pseudo transparency with a custom pixmap. No
187 scaling is supported in this mode. Exmaple:
188
189 rxvt -pixmap background.xpm -pe automove-background
190
84 block-graphics-to-ascii 191 block-graphics-to-ascii
85 A not very useful example of filtering all text output to the 192 A not very useful example of filtering all text output to the
86 terminal, by replacing all line-drawing characters (U+2500 .. 193 terminal, by replacing all line-drawing characters (U+2500 ..
87 U+259F) by a similar-looking ascii character. 194 U+259F) by a similar-looking ascii character.
88 195
196 digital-clock
197 Displays a digital clock using the built-in overlay.
198
89 example-refresh-hooks 199 example-refresh-hooks
90 Displays a very simple digital clock in the upper right corner of 200 Displays a very simple digital clock in the upper right corner of
91 the window. Illustrates overwriting the refresh callbacks to create 201 the window. Illustrates overwriting the refresh callbacks to create
92 your own overlays or changes. 202 your own overlays or changes.
203
204 selection-pastebin
205 This is a little rarely useful extension that Uploads the selection
206 as textfile to a remote site (or does other things). (The
207 implementation is not currently secure for use in a multiuser
208 environment as it writes to /tmp directly.).
209
210 It listens to the "selection-pastebin:remote-pastebin" keyboard
211 command, i.e.
212
213 URxvt.keysym.C-M-e: perl:selection-pastebin:remote-pastebin
214
215 Pressing this combination runs a command with "%" replaced by the
216 name of the textfile. This command can be set via a resource:
217
218 URxvt.selection-pastebin.cmd: rsync -apP % ruth:/var/www/www.ta-sa.org/files/txt/.
219
220 And the default is likely not useful to anybody but the few people
221 around here :)
222
223 The name of the textfile is the hex encoded md5 sum of the
224 selection, so the same content should lead to the same filename.
225
226 After a successful upload the selection will be replaced by the text
227 given in the "selection-pastebin-url" resource (again, the % is the
228 placeholder for the filename):
229
230 URxvt.selection-pastebin.url: http://www.ta-sa.org/files/txt/%
93 231
94API DOCUMENTATION 232API DOCUMENTATION
95 General API Considerations 233 General API Considerations
96 All objects (such as terminals, time watchers etc.) are typical 234 All objects (such as terminals, time watchers etc.) are typical
97 reference-to-hash objects. The hash can be used to store anything you 235 reference-to-hash objects. The hash can be used to store anything you
151 be called whenever the relevant event happens. 289 be called whenever the relevant event happens.
152 290
153 The first argument passed to them is an extension oject as described in 291 The first argument passed to them is an extension oject as described in
154 the in the "Extension Objects" section. 292 the in the "Extension Objects" section.
155 293
156 All of these hooks must return a boolean value. If it is true, then the 294 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 295 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++ 296 relevant action might not be carried out by the C++ code.
159 code.
160 297
161 *When in doubt, return a false value (preferably "()").* 298 *When in doubt, return a false value (preferably "()").*
162 299
163 on_init $term 300 on_init $term
164 Called after a new terminal object has been initialized, but before 301 Called after a new terminal object has been initialized, but before
165 windows are created or the command gets run. Most methods are unsafe 302 windows are created or the command gets run. Most methods are unsafe
166 to call or deliver senseless data, as terminal size and other 303 to call or deliver senseless data, as terminal size and other
167 characteristics have not yet been determined. You can safely query 304 characteristics have not yet been determined. You can safely query
168 and change resources, though. 305 and change resources and options, though. For many purposes the
306 "on_start" hook is a better place.
307
308 on_start $term
309 Called at the very end of initialisation of a new terminal, just
310 before trying to map (display) the toplevel and returning to the
311 mainloop.
312
313 on_destroy $term
314 Called whenever something tries to destroy terminal, before doing
315 anything yet. If this hook returns true, then destruction is
316 skipped, but this is rarely a good idea.
169 317
170 on_reset $term 318 on_reset $term
171 Called after the screen is "reset" for any reason, such as resizing 319 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 320 or control sequences. Here is where you can react on changes to
173 size-related variables. 321 size-related variables.
174 322
175 on_start $term 323 on_child_start $term, $pid
176 Called at the very end of initialisation of a new terminal, just 324 Called just after the child process has been "fork"ed.
177 before returning to the mainloop. 325
326 on_child_exit $term, $status
327 Called just after the child process has exited. $status is the
328 status from "waitpid".
178 329
179 on_sel_make $term, $eventtime 330 on_sel_make $term, $eventtime
180 Called whenever a selection has been made by the user, but before 331 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 332 the selection text is copied, so changes to the beginning, end or
182 type of the selection will be honored. 333 type of the selection will be honored.
267 on_keyboard_command $term, $string 418 on_keyboard_command $term, $string
268 Called whenever the user presses a key combination that has a 419 Called whenever the user presses a key combination that has a
269 "perl:string" action bound to it (see description of the keysym 420 "perl:string" action bound to it (see description of the keysym
270 resource in the rxvt(1) manpage). 421 resource in the rxvt(1) manpage).
271 422
423 on_x_event $term, $event
424 Called on every X event received on the vt window (and possibly
425 other windows). Should only be used as a last resort. Most event
426 structure members are not passed.
427
272 on_focus_in $term 428 on_focus_in $term
273 Called whenever the window gets the keyboard focus, before 429 Called whenever the window gets the keyboard focus, before
274 rxvt-unicode does focus in processing. 430 rxvt-unicode does focus in processing.
275 431
276 on_focus_out $term 432 on_focus_out $term
277 Called wheneever the window loses keyboard focus, before 433 Called wheneever the window loses keyboard focus, before
278 rxvt-unicode does focus out processing. 434 rxvt-unicode does focus out processing.
279 435
436 on_configure_notify $term, $event
437 on_property_notify $term, $event
280 on_key_press $term, $event, $keysym, $octets 438 on_key_press $term, $event, $keysym, $octets
281 on_key_release $term, $event, $keysym 439 on_key_release $term, $event, $keysym
282 on_button_press $term, $event 440 on_button_press $term, $event
283 on_button_release $term, $event 441 on_button_release $term, $event
284 on_motion_notify $term, $event 442 on_motion_notify $term, $event
288 terminal If the hook returns true, then the even will be ignored by 446 terminal If the hook returns true, then the even will be ignored by
289 rxvt-unicode. 447 rxvt-unicode.
290 448
291 The event is a hash with most values as named by Xlib (see the 449 The event is a hash with most values as named by Xlib (see the
292 XEvent manpage), with the additional members "row" and "col", which 450 XEvent manpage), with the additional members "row" and "col", which
293 are the row and column under the mouse cursor. 451 are the (real, not screen-based) row and column under the mouse
452 cursor.
294 453
295 "on_key_press" additionally receives the string rxvt-unicode would 454 "on_key_press" additionally receives the string rxvt-unicode would
296 output, if any, in locale-specific encoding. 455 output, if any, in locale-specific encoding.
297 456
298 subwindow. 457 subwindow.
458
459 on_client_message $term, $event
460 on_wm_protocols $term, $event
461 on_wm_delete_window $term, $event
462 Called when various types of ClientMessage events are received (all
463 with format=32, WM_PROTOCOLS or WM_PROTOCOLS:WM_DELETE_WINDOW).
299 464
300 Variables in the "urxvt" Package 465 Variables in the "urxvt" Package
301 $urxvt::LIBDIR 466 $urxvt::LIBDIR
302 The rxvt-unicode library directory, where, among other things, the 467 The rxvt-unicode library directory, where, among other things, the
303 perl modules and scripts are stored. 468 perl modules and scripts are stored.
310 The basename of the installed binaries, usually "urxvt". 475 The basename of the installed binaries, usually "urxvt".
311 476
312 $urxvt::TERM 477 $urxvt::TERM
313 The current terminal. This variable stores the current "urxvt::term" 478 The current terminal. This variable stores the current "urxvt::term"
314 object, whenever a callback/hook is executing. 479 object, whenever a callback/hook is executing.
480
481 @urxvt::TERM_INIT
482 All coderefs in this array will be called as methods of the next
483 newly created "urxvt::term" object (during the "on_init" phase). The
484 array gets cleared before the codereferences that were in it are
485 being executed, so coderefs can push themselves onto it again if
486 they so desire.
487
488 This complements to the perl-eval commandline option, but gets
489 executed first.
490
491 @urxvt::TERM_EXT
492 Works similar to @TERM_INIT, but contains perl package/class names,
493 which get registered as normal extensions after calling the hooks in
494 @TERM_INIT but before other extensions. Gets cleared just like
495 @TERM_INIT.
315 496
316 Functions in the "urxvt" Package 497 Functions in the "urxvt" Package
317 urxvt::fatal $errormessage 498 urxvt::fatal $errormessage
318 Fatally aborts execution with the given error message. Avoid at all 499 Fatally aborts execution with the given error message. Avoid at all
319 costs! The only time this is acceptable is when the terminal process 500 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 508 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. 509 correct place, e.g. on stderr of the connecting urxvtc client.
329 510
330 Messages have a size limit of 1023 bytes currently. 511 Messages have a size limit of 1023 bytes currently.
331 512
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 513 $time = urxvt::NOW
338 Returns the "current time" (as per the event loop). 514 Returns the "current time" (as per the event loop).
339 515
340 urxvt::CurrentTime 516 urxvt::CurrentTime
341 urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, 517 urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask,
342 Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask, 518 Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask,
343 Button5Mask, AnyModifier 519 Button5Mask, AnyModifier
520 urxvt::NoEventMask, KeyPressMask, KeyReleaseMask, ButtonPressMask,
521 ButtonReleaseMask, EnterWindowMask, LeaveWindowMask, PointerMotionMask,
522 PointerMotionHintMask, Button1MotionMask, Button2MotionMask,
523 Button3MotionMask, Button4MotionMask, Button5MotionMask,
524 ButtonMotionMask, KeymapStateMask, ExposureMask, VisibilityChangeMask,
525 StructureNotifyMask, ResizeRedirectMask, SubstructureNotifyMask,
526 SubstructureRedirectMask, FocusChangeMask, PropertyChangeMask,
527 ColormapChangeMask, OwnerGrabButtonMask
528 urxvt::KeyPress, KeyRelease, ButtonPress, ButtonRelease, MotionNotify,
529 EnterNotify, LeaveNotify, FocusIn, FocusOut, KeymapNotify, Expose,
530 GraphicsExpose, NoExpose, VisibilityNotify, CreateNotify, DestroyNotify,
531 UnmapNotify, MapNotify, MapRequest, ReparentNotify, ConfigureNotify,
532 ConfigureRequest, GravityNotify, ResizeRequest, CirculateNotify,
533 CirculateRequest, PropertyNotify, SelectionClear, SelectionRequest,
534 SelectionNotify, ColormapNotify, ClientMessage, MappingNotify
344 Various constants for use in X calls and event processing. 535 Various constants for use in X calls and event processing.
345 536
346 RENDITION 537 RENDITION
347 Rendition bitsets contain information about colour, font, font styles 538 Rendition bitsets contain information about colour, font, font styles
348 and similar information for each screen cell. 539 and similar information for each screen cell.
404 $term->destroy 595 $term->destroy
405 Destroy the terminal object (close the window, free resources etc.). 596 Destroy the terminal object (close the window, free resources etc.).
406 Please note that rxvt will not exit as long as any event watchers 597 Please note that rxvt will not exit as long as any event watchers
407 (timers, io watchers) are still active. 598 (timers, io watchers) are still active.
408 599
600 $term->exec_async ($cmd[, @args])
601 Works like the combination of the "fork"/"exec" builtins, which
602 executes ("starts") programs in the background. This function takes
603 care of setting the user environment before exec'ing the command
604 (e.g. "PATH") and should be preferred over explicit calls to "exec"
605 or "system".
606
607 Returns the pid of the subprocess or "undef" on error.
608
409 $isset = $term->option ($optval[, $set]) 609 $isset = $term->option ($optval[, $set])
410 Returns true if the option specified by $optval is enabled, and 610 Returns true if the option specified by $optval is enabled, and
411 optionally change it. All option values are stored by name in the 611 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 612 hash %urxvt::OPTION. Options not enabled in this binary are not in
413 the hash. 613 the hash.
415 Here is a a likely non-exhaustive list of option names, please see 615 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: 616 the source file /src/optinc.h to see the actual list:
417 617
418 borderLess console cursorBlink cursorUnderline hold iconic insecure 618 borderLess console cursorBlink cursorUnderline hold iconic insecure
419 intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage 619 intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage
420 pastableTabs pointerBlank reverseVideo scrollBar scrollBar_floating 620 override-redirect pastableTabs pointerBlank reverseVideo scrollBar
421 scrollBar_right scrollTtyKeypress scrollTtyOutput scrollWithBuffer 621 scrollBar_floating scrollBar_right scrollTtyKeypress scrollTtyOutput
422 secondaryScreen secondaryScroll skipBuiltinGlyphs transparent 622 scrollWithBuffer secondaryScreen secondaryScroll skipBuiltinGlyphs
423 tripleclickwords utmpInhibit visualBell 623 transparent tripleclickwords utmpInhibit visualBell
424 624
425 $value = $term->resource ($name[, $newval]) 625 $value = $term->resource ($name[, $newval])
426 Returns the current resource value associated with a given name and 626 Returns the current resource value associated with a given name and
427 optionally sets a new value. Setting values is most useful in the 627 optionally sets a new value. Setting values is most useful in the
428 "init" hook. Unset resources are returned and accepted as "undef". 628 "init" hook. Unset resources are returned and accepted as "undef".
445 645
446 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont 646 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont
447 borderLess color cursorBlink cursorUnderline cutchars delete_key 647 borderLess color cursorBlink cursorUnderline cutchars delete_key
448 display_name embed ext_bwidth fade font geometry hold iconName 648 display_name embed ext_bwidth fade font geometry hold iconName
449 imFont imLocale inputMethod insecure int_bwidth intensityStyles 649 imFont imLocale inputMethod insecure int_bwidth intensityStyles
450 italicFont jumpScroll lineSpace loginShell mapAlert menu meta8 modifier 650 italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier
451 mouseWheelScrollPage name pastableTabs path perl_eval perl_ext_1 perl_ext_2 651 mouseWheelScrollPage name override_redirect pastableTabs path perl_eval
452 perl_lib pointerBlank pointerBlankDelay preeditType print_pipe pty_fd 652 perl_ext_1 perl_ext_2 perl_lib pointerBlank pointerBlankDelay
453 reverseVideo saveLines scrollBar scrollBar_align scrollBar_floating 653 preeditType print_pipe pty_fd reverseVideo saveLines scrollBar
454 scrollBar_right scrollBar_thickness scrollTtyKeypress scrollTtyOutput 654 scrollBar_align scrollBar_floating scrollBar_right scrollBar_thickness
455 scrollWithBuffer scrollstyle secondaryScreen secondaryScroll selectstyle 655 scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle
656 secondaryScreen secondaryScroll selectstyle shade term_name title
456 shade term_name title transparent transparent_all tripleclickwords 657 transient_for transparent transparent_all tripleclickwords utmpInhibit
457 utmpInhibit visualBell 658 visualBell
458 659
459 $value = $term->x_resource ($pattern) 660 $value = $term->x_resource ($pattern)
460 Returns the X-Resource for the given pattern, excluding the program 661 Returns the X-Resource for the given pattern, excluding the program
461 or class name, i.e. "$term->x_resource ("boldFont")" should return 662 or class name, i.e. "$term->x_resource ("boldFont")" should return
462 the same value as used by this instance of rxvt-unicode. Returns 663 the same value as used by this instance of rxvt-unicode. Returns
573 774
574 Normally its not a good idea to use this function, as programs might 775 Normally its not a good idea to use this function, as programs might
575 be confused by changes in cursor position or scrolling. Its useful 776 be confused by changes in cursor position or scrolling. Its useful
576 inside a "on_add_lines" hook, though. 777 inside a "on_add_lines" hook, though.
577 778
779 $term->scr_change_screen ($screen)
780 Switch to given screen - 0 primary, 1 secondary.
781
578 $term->cmd_parse ($octets) 782 $term->cmd_parse ($octets)
579 Similar to "scr_add_lines", but the argument must be in the 783 Similar to "scr_add_lines", but the argument must be in the
580 locale-specific encoding of the terminal and can contain command 784 locale-specific encoding of the terminal and can contain command
581 sequences (escape codes) that will be interpreted. 785 sequences (escape codes) that will be interpreted.
582 786
595 $windowid = $term->parent 799 $windowid = $term->parent
596 Return the window id of the toplevel window. 800 Return the window id of the toplevel window.
597 801
598 $windowid = $term->vt 802 $windowid = $term->vt
599 Return the window id of the terminal window. 803 Return the window id of the terminal window.
804
805 $term->vt_emask_add ($x_event_mask)
806 Adds the specified events to the vt event mask. Useful e.g. when you
807 want to receive pointer events all the times:
808
809 $term->vt_emask_add (urxvt::PointerMotionMask);
600 810
601 $window_width = $term->width 811 $window_width = $term->width
602 $window_height = $term->height 812 $window_height = $term->height
603 $font_width = $term->fwidth 813 $font_width = $term->fwidth
604 $font_height = $term->fheight 814 $font_height = $term->fheight
607 $terminal_columns = $term->ncol 817 $terminal_columns = $term->ncol
608 $has_focus = $term->focus 818 $has_focus = $term->focus
609 $is_mapped = $term->mapped 819 $is_mapped = $term->mapped
610 $max_scrollback = $term->saveLines 820 $max_scrollback = $term->saveLines
611 $nrow_plus_saveLines = $term->total_rows 821 $nrow_plus_saveLines = $term->total_rows
612 $lines_in_scrollback = $term->nsaved 822 $topmost_scrollback_row = $term->top_row
613 Return various integers describing terminal characteristics. 823 Return various integers describing terminal characteristics.
614 824
615 $x_display = $term->display_id 825 $x_display = $term->display_id
616 Return the DISPLAY used by rxvt-unicode. 826 Return the DISPLAY used by rxvt-unicode.
617 827
627 $modifiermask = $term->ModNumLockMask 837 $modifiermask = $term->ModNumLockMask
628 Return the modifier masks corresponding to the "ISO Level 3 Shift" 838 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 839 (often AltGr), the meta key (often Alt) and the num lock key, if
630 applicable. 840 applicable.
631 841
842 $screen = $term->current_screen
843 Returns the currently displayed screen (0 primary, 1 secondary).
844
632 $view_start = $term->view_start ([$newvalue]) 845 $view_start = $term->view_start ([$newvalue])
633 Returns the negative row number of the topmost line. Minimum value 846 Returns the row number of the topmost displayed line. Maximum value
634 is 0, which displays the normal terminal contents. Larger values 847 is 0, which displays the normal terminal contents. Lower values
635 scroll this many lines into the scrollback buffer. 848 scroll this many lines into the scrollback buffer.
636 849
637 $term->want_refresh 850 $term->want_refresh
638 Requests a screen refresh. At the next opportunity, rxvt-unicode 851 Requests a screen refresh. At the next opportunity, rxvt-unicode
639 will compare the on-screen display with its stored representation. 852 will compare the on-screen display with its stored representation.
652 line, starting at column $start_col (default 0), which is useful to 865 line, starting at column $start_col (default 0), which is useful to
653 replace only parts of a line. The font index in the rendition will 866 replace only parts of a line. The font index in the rendition will
654 automatically be updated. 867 automatically be updated.
655 868
656 $text is in a special encoding: tabs and wide characters that use 869 $text is in a special encoding: tabs and wide characters that use
657 more than one cell when displayed are padded with urxvt::NOCHAR 870 more than one cell when displayed are padded with $urxvt::NOCHAR
658 characters ("chr 65535"). Characters with combining characters and 871 characters. Characters with combining characters and other
659 other characters that do not fit into the normal tetx encoding will 872 characters that do not fit into the normal tetx encoding will be
660 be replaced with characters in the private use area. 873 replaced with characters in the private use area.
661 874
662 You have to obey this encoding when changing text. The advantage is 875 You have to obey this encoding when changing text. The advantage is
663 that "substr" and similar functions work on screen cells and not on 876 that "substr" and similar functions work on screen cells and not on
664 characters. 877 characters.
665 878
743 956
744 $term->ungrab 957 $term->ungrab
745 Calls XUngrab for the most recent grab. Is called automatically on 958 Calls XUngrab for the most recent grab. Is called automatically on
746 evaluation errors, as it is better to lose the grab in the error 959 evaluation errors, as it is better to lose the grab in the error
747 case as the session. 960 case as the session.
961
962 $atom = $term->XInternAtom ($atom_name[, $only_if_exists])
963 $atom_name = $term->XGetAtomName ($atom)
964 @atoms = $term->XListProperties ($window)
965 ($type,$format,$octets) = $term->XGetWindowProperty ($window, $property)
966 $term->XChangeWindowProperty ($window, $property, $type, $format,
967 $octets)
968 $term->XDeleteProperty ($window, $property)
969 $window = $term->DefaultRootWindow
970 $term->XReparentWindow ($window, $parent, [$x, $y])
971 $term->XMapWindow ($window)
972 $term->XUnmapWindow ($window)
973 $term->XMoveResizeWindow ($window, $x, $y, $width, $height)
974 ($x, $y, $child_window) = $term->XTranslateCoordinates ($src, $dst, $x,
975 $y)
976 $term->XChangeInput ($window, $add_events[, $del_events])
977 Various X or X-related functions. The $term object only serves as
978 the source of the display, otherwise those functions map
979 more-or-less directory onto the X functions of the same name.
748 980
749 The "urxvt::popup" Class 981 The "urxvt::popup" Class
750 $popup->add_title ($title) 982 $popup->add_title ($title)
751 Adds a non-clickable title to the popup. 983 Adds a non-clickable title to the popup.
752 984
800 $timer = $timer->start 1032 $timer = $timer->start
801 Start the timer. 1033 Start the timer.
802 1034
803 $timer = $timer->start ($tstamp) 1035 $timer = $timer->start ($tstamp)
804 Set the event trigger time to $tstamp and start the timer. 1036 Set the event trigger time to $tstamp and start the timer.
1037
1038 $timer = $timer->after ($delay)
1039 Like "start", but sets the expiry timer to c<urxvt::NOW + $delay>.
805 1040
806 $timer = $timer->stop 1041 $timer = $timer->stop
807 Stop the timer. 1042 Stop the timer.
808 1043
809 The "urxvt::iow" Class 1044 The "urxvt::iow" Class
841 Start watching for requested events on the given handle. 1076 Start watching for requested events on the given handle.
842 1077
843 $iow = $iow->stop 1078 $iow = $iow->stop
844 Stop watching for events on the given filehandle. 1079 Stop watching for events on the given filehandle.
845 1080
1081 The "urxvt::iw" Class
1082 This class implements idle watchers, that get called automatically when
1083 the process is idle. They should return as fast as possible, after doing
1084 some useful work.
1085
1086 $iw = new urxvt::iw
1087 Create a new idle watcher object in stopped state.
1088
1089 $iw = $iw->cb (sub { my ($iw) = @_; ... })
1090 Set the callback to be called when the watcher triggers.
1091
1092 $timer = $timer->start
1093 Start the watcher.
1094
1095 $timer = $timer->stop
1096 Stop the watcher.
1097
1098 The "urxvt::pw" Class
1099 This class implements process watchers. They create an event whenever a
1100 process exits, after which they stop automatically.
1101
1102 my $pid = fork;
1103 ...
1104 $term->{pw} = urxvt::pw
1105 ->new
1106 ->start ($pid)
1107 ->cb (sub {
1108 my ($pw, $exit_status) = @_;
1109 ...
1110 });
1111
1112 $pw = new urxvt::pw
1113 Create a new process watcher in stopped state.
1114
1115 $pw = $pw->cb (sub { my ($pw, $exit_status) = @_; ... })
1116 Set the callback to be called when the timer triggers.
1117
1118 $pw = $timer->start ($pid)
1119 Tells the wqtcher to start watching for process $pid.
1120
1121 $pw = $pw->stop
1122 Stop the watcher.
1123
846ENVIRONMENT 1124ENVIRONMENT
847 URXVT_PERL_VERBOSITY 1125 URXVT_PERL_VERBOSITY
848 This variable controls the verbosity level of the perl extension. Higher 1126 This variable controls the verbosity level of the perl extension. Higher
849 numbers indicate more verbose output. 1127 numbers indicate more verbose output.
850 1128

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines