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.22 by root, Wed Jan 11 02:13:56 2006 UTC vs.
Revision 1.30 by root, Wed Jan 18 09:40:53 2006 UTC

31 31
32 rxvt -pe <extensionname> 32 rxvt -pe <extensionname>
33 33
34 selection (enabled by default) 34 selection (enabled by default)
35 (More) intelligent selection. This extension tries to be more 35 (More) intelligent selection. This extension tries to be more
36 intelligent when the user extends selections (double-click). Right 36 intelligent when the user extends selections (double-click and
37 now, it tries to select urls and complete shell-quoted arguments, 37 further clicks). Right now, it tries to select words, urls and
38 which is very convenient, too, if your ls supports 38 complete shell-quoted arguments, which is very convenient, too, if
39 "--quoting-style=shell". 39 your ls supports "--quoting-style=shell".
40 40
41 A double-click usually selects the word under the cursor, further
42 clicks will enlarge the selection.
43
44 The selection works by trying to match a number of regexes and
45 displaying them in increasing order of length. You can add your own
46 regexes by specifying resources of the form:
47
48 URxvt.selection.pattern-0: perl-regex
49 URxvt.selection.pattern-1: perl-regex
50 ...
51
52 The index number (0, 1...) must not have any holes, and each regex
53 must contain at least one pair of capturing parentheses, which will
54 be used for the match. For example, the followign adds a regex that
55 matches everything between two vertical bars:
56
57 URxvt.selection.pattern-0: \\|([^|]+)\\|
58
59 You can look at the source of the selection extension to see more
60 interesting uses, such as parsing a line from beginning to end.
61
41 It also offers the following bindable keyboard command: 62 This extension also offers following bindable keyboard commands:
42 63
43 rot13 64 rot13
44 Rot-13 the selection when activated. Used via keyboard trigger: 65 Rot-13 the selection when activated. Used via keyboard trigger:
45 66
46 URxvt.keysym.C-M-r: perl:selection:rot13 67 URxvt.keysym.C-M-r: perl:selection:rot13
55 unescaping, perl evalution, web-browser starting etc.), depending on 76 unescaping, perl evalution, web-browser starting etc.), depending on
56 content. 77 content.
57 78
58 searchable-scrollback<hotkey> (enabled by default) 79 searchable-scrollback<hotkey> (enabled by default)
59 Adds regex search functionality to the scrollback buffer, triggered 80 Adds regex search functionality to the scrollback buffer, triggered
60 by a hotkey (default: "M-s"). When in search mode, normal terminal 81 by a hotkey (default: "M-s"). While in search mode, normal terminal
61 input/output is suspended. 82 input/output is suspended and a regex is displayed at the bottom of
83 the screen.
62 84
63 "/" starts an incremental regex search, "n" searches further, "p" or 85 Inputting characters appends them to the regex and continues
64 "N" jump to the previous match, "G" jumps to the bottom and clears 86 incremental search. "BackSpace" removes a character from the regex,
65 the history, "enter" leaves search mode at the current position and 87 "Up" and "Down" search upwards/downwards in the scrollback buffer,
66 "escape" returns to the original position. 88 "End" jumps to the bottom. "Escape" leaves search mode and returns
89 to the point where search was started, while "Enter" or "Return"
90 stay at the current position and additionally stores the first match
91 in the current line into the primary selection.
67 92
68 digital-clock 93 selection-autotransform
69 Displays a digital clock using the built-in overlay. 94 This selection allows you to do automatic transforms on a selection
95 whenever a selection is made.
96
97 It works by specifying perl snippets (most useful is a single "s///"
98 operator) that modify $_ as resources:
99
100 URxvt.selection-autotransform.0: transform
101 URxvt.selection-autotransform.1: transform
102 ...
103
104 For example, the following will transform selections of the form
105 "filename:number", often seen in compiler messages, into "vi
106 +$filename $word":
107
108 URxvt.selection-autotransform.0: s/^([^:[:space:]]+):(\\d+):?$/vi +$2 \\Q$1\\E\\x0d/
109
110 And this example matches the same,but replaces it with vi-commands
111 you can paste directly into your (vi :) editor:
112
113 URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\\d+):?$/\\x1b:e \\Q$1\\E\\x0d:$2\\x0d/
114
115 Of course, this can be modified to suit your needs and your editor
116 :)
117
118 To expand the example above to typical perl error messages ("XXX at
119 FILENAME line YYY."), you need a slightly more elaborate solution:
120
121 URxvt.selection.pattern-0: ( at .*? line \\d+\\.)
122 URxvt.selection-autotransform.0: s/^ at (.*?) line (\\d+)\\.$/\x1b:e \\Q$1\E\\x0d:$2\\x0d/
123
124 The first line tells the selection code to treat the unchanging part
125 of every error message as a selection pattern, and the second line
126 transforms the message into vi commands to load the file.
70 127
71 mark-urls 128 mark-urls
72 Uses per-line display filtering ("on_line_update") to underline urls 129 Uses per-line display filtering ("on_line_update") to underline urls
73 and make them clickable. When clicked, the program specified in the 130 and make them clickable. When middle-clicked, the program specified
74 resource "urlLauncher" (default "x-www-browser") will be started. 131 in the resource "urlLauncher" (default "x-www-browser") will be
132 started with the URL as first argument.
75 133
76 block-graphics-to-ascii 134 block-graphics-to-ascii
77 A not very useful example of filtering all text output to the 135 A not very useful example of filtering all text output to the
78 terminal, by replacing all line-drawing characters (U+2500 .. 136 terminal, by replacing all line-drawing characters (U+2500 ..
79 U+259F) by a similar-looking ascii character. 137 U+259F) by a similar-looking ascii character.
80 138
139 digital-clock
140 Displays a digital clock using the built-in overlay.
141
81 example-refresh-hooks 142 example-refresh-hooks
82 Displays a very simple digital clock in the upper right corner of 143 Displays a very simple digital clock in the upper right corner of
83 the window. Illustrates overwriting the refresh callbacks to create 144 the window. Illustrates overwriting the refresh callbacks to create
84 your own overlays or changes. 145 your own overlays or changes.
146
147 selection-pastebin
148 This is a little rarely useful extension that Uploads the selection
149 as textfile to a remote site (or does other things). (The
150 implementation is not currently secure for use in a multiuser
151 environment as it writes to /tmp directly.).
152
153 It listens to the "selection-pastebin:remote-pastebin" keyboard
154 command, i.e.
155
156 URxvt.keysym.C-M-e: perl:selection-pastebin:remote-pastebin
157
158 Pressing this combination runs a command with "%" replaced by the
159 name of the textfile. This command can be set via a resource:
160
161 URxvt.selection-pastebin.cmd: rsync -apP % ruth:/var/www/www.ta-sa.org/files/txt/.
162
163 And the default is likely not useful to anybody but the few people
164 around here :)
165
166 The name of the textfile is the hex encoded md5 sum of the
167 selection, so the same content should lead to the same filename.
168
169 After a successful upload the selection will be replaced by the text
170 given in the "selection-pastebin-url" resource (again, the % is the
171 placeholder for the filename):
172
173 URxvt.selection-pastebin.url: http://www.ta-sa.org/files/txt/%
85 174
86API DOCUMENTATION 175API DOCUMENTATION
87 General API Considerations 176 General API Considerations
88 All objects (such as terminals, time watchers etc.) are typical 177 All objects (such as terminals, time watchers etc.) are typical
89 reference-to-hash objects. The hash can be used to store anything you 178 reference-to-hash objects. The hash can be used to store anything you
187 276
188 on_sel_extend $term 277 on_sel_extend $term
189 Called whenever the user tries to extend the selection (e.g. with a 278 Called whenever the user tries to extend the selection (e.g. with a
190 double click) and is either supposed to return false (normal 279 double click) and is either supposed to return false (normal
191 operation), or should extend the selection itelf and return true to 280 operation), or should extend the selection itelf and return true to
192 suppress the built-in processing. 281 suppress the built-in processing. This can happen multiple times, as
282 long as the callback returns true, it will be called on every
283 further click by the user and is supposed to enlarge the selection
284 more and more, if possible.
193 285
194 See the selection example extension. 286 See the selection example extension.
195 287
196 on_view_change $term, $offset 288 on_view_change $term, $offset
197 Called whenever the view offset changes, i..e the user or program 289 Called whenever the view offset changes, i..e the user or program
255 347
256 on_keyboard_command $term, $string 348 on_keyboard_command $term, $string
257 Called whenever the user presses a key combination that has a 349 Called whenever the user presses a key combination that has a
258 "perl:string" action bound to it (see description of the keysym 350 "perl:string" action bound to it (see description of the keysym
259 resource in the rxvt(1) manpage). 351 resource in the rxvt(1) manpage).
352
353 on_x_event $term, $event
354 Called on every X event received on the vt window (and possibly
355 other windows). Should only be used as a last resort. Most event
356 structure members are not passed.
260 357
261 on_focus_in $term 358 on_focus_in $term
262 Called whenever the window gets the keyboard focus, before 359 Called whenever the window gets the keyboard focus, before
263 rxvt-unicode does focus in processing. 360 rxvt-unicode does focus in processing.
264 361
316 Using this function has the advantage that its output ends up in the 413 Using this function has the advantage that its output ends up in the
317 correct place, e.g. on stderr of the connecting urxvtc client. 414 correct place, e.g. on stderr of the connecting urxvtc client.
318 415
319 Messages have a size limit of 1023 bytes currently. 416 Messages have a size limit of 1023 bytes currently.
320 417
321 $is_safe = urxvt::safe
322 Returns true when it is safe to do potentially unsafe things, such
323 as evaluating perl code specified by the user. This is true when
324 urxvt was started setuid or setgid.
325
326 $time = urxvt::NOW 418 $time = urxvt::NOW
327 Returns the "current time" (as per the event loop). 419 Returns the "current time" (as per the event loop).
328 420
329 urxvt::CurrentTime 421 urxvt::CurrentTime
330 urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, 422 urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask,
331 Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask, 423 Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask,
332 Button5Mask, AnyModifier 424 Button5Mask, AnyModifier
425 urxvt::NoEventMask, KeyPressMask, KeyReleaseMask, ButtonPressMask,
426 ButtonReleaseMask, EnterWindowMask, LeaveWindowMask, PointerMotionMask,
427 PointerMotionHintMask, Button1MotionMask, Button2MotionMask,
428 Button3MotionMask, Button4MotionMask, Button5MotionMask,
429 ButtonMotionMask, KeymapStateMask, ExposureMask, VisibilityChangeMask,
430 StructureNotifyMask, ResizeRedirectMask, SubstructureNotifyMask,
431 SubstructureRedirectMask, FocusChangeMask, PropertyChangeMask,
432 ColormapChangeMask, OwnerGrabButtonMask
433 urxvt::KeyPress, KeyRelease, ButtonPress, ButtonRelease, MotionNotify,
434 EnterNotify, LeaveNotify, FocusIn, FocusOut, KeymapNotify, Expose,
435 GraphicsExpose, NoExpose, VisibilityNotify, CreateNotify, DestroyNotify,
436 UnmapNotify, MapNotify, MapRequest, ReparentNotify, ConfigureNotify,
437 ConfigureRequest, GravityNotify, ResizeRequest, CirculateNotify,
438 CirculateRequest, PropertyNotify, SelectionClear, SelectionRequest,
439 SelectionNotify, ColormapNotify, ClientMessage, MappingNotify
333 Various constants for use in X calls and event processing. 440 Various constants for use in X calls and event processing.
334 441
335 RENDITION 442 RENDITION
336 Rendition bitsets contain information about colour, font, font styles 443 Rendition bitsets contain information about colour, font, font styles
337 and similar information for each screen cell. 444 and similar information for each screen cell.
472 ($row, $col) = $term->selection_beg ([$row, $col]) 579 ($row, $col) = $term->selection_beg ([$row, $col])
473 ($row, $col) = $term->selection_end ([$row, $col]) 580 ($row, $col) = $term->selection_end ([$row, $col])
474 Return the current values of the selection mark, begin or end 581 Return the current values of the selection mark, begin or end
475 positions, and optionally set them to new values. 582 positions, and optionally set them to new values.
476 583
584 $term->selection_make ($eventtime[, $rectangular])
585 Tries to make a selection as set by "selection_beg" and
586 "selection_end". If $rectangular is true (default: false), a
587 rectangular selection will be made. This is the prefered function to
588 make a selection.
589
477 $success = $term->selection_grab ($eventtime) 590 $success = $term->selection_grab ($eventtime)
478 Try to request the primary selection from the server (for example, 591 Try to request the primary selection text from the server (for
479 as set by the next method). 592 example, as set by the next method). No visual feedback will be
593 given. This function is mostly useful from within "on_sel_grab"
594 hooks.
480 595
481 $oldtext = $term->selection ([$newtext]) 596 $oldtext = $term->selection ([$newtext])
482 Return the current selection text and optionally replace it by 597 Return the current selection text and optionally replace it by
483 $newtext. 598 $newtext.
484 599
529 $string = $term->locale_decode ($octets) 644 $string = $term->locale_decode ($octets)
530 Convert the given locale-encoded octets into a perl string. 645 Convert the given locale-encoded octets into a perl string.
531 646
532 $term->scr_xor_span ($beg_row, $beg_col, $end_row, $end_col[, $rstyle]) 647 $term->scr_xor_span ($beg_row, $beg_col, $end_row, $end_col[, $rstyle])
533 XORs the rendition values in the given span with the provided value 648 XORs the rendition values in the given span with the provided value
534 (default: "RS_RVid"). Useful in refresh hooks to provide effects 649 (default: "RS_RVid"), which *MUST NOT* contain font styles. Useful
535 similar to the selection. 650 in refresh hooks to provide effects similar to the selection.
536 651
537 $term->scr_xor_rect ($beg_row, $beg_col, $end_row, $end_col[, $rstyle1[, 652 $term->scr_xor_rect ($beg_row, $beg_col, $end_row, $end_col[, $rstyle1[,
538 $rstyle2]]) 653 $rstyle2]])
539 Similar to "scr_xor_span", but xors a rectangle instead. Trailing 654 Similar to "scr_xor_span", but xors a rectangle instead. Trailing
540 whitespace will additionally be xored with the $rstyle2, which 655 whitespace will additionally be xored with the $rstyle2, which
541 defaults to "RS_RVid | RS_Uline", which removes reverse video again 656 defaults to "RS_RVid | RS_Uline", which removes reverse video again
542 and underlines it instead. 657 and underlines it instead. Both styles *MUST NOT* contain font
658 styles.
543 659
544 $term->scr_bell 660 $term->scr_bell
545 Ring the bell! 661 Ring the bell!
546 662
547 $term->scr_add_lines ($string) 663 $term->scr_add_lines ($string)
575 $windowid = $term->parent 691 $windowid = $term->parent
576 Return the window id of the toplevel window. 692 Return the window id of the toplevel window.
577 693
578 $windowid = $term->vt 694 $windowid = $term->vt
579 Return the window id of the terminal window. 695 Return the window id of the terminal window.
696
697 $term->vt_emask_add ($x_event_mask)
698 Adds the specified events to the vt event mask. Useful e.g. when you
699 want to receive pointer events all the times:
700
701 $term->vt_emask_add (urxvt::PointerMotionMask);
580 702
581 $window_width = $term->width 703 $window_width = $term->width
582 $window_height = $term->height 704 $window_height = $term->height
583 $font_width = $term->fwidth 705 $font_width = $term->fwidth
584 $font_height = $term->fheight 706 $font_height = $term->fheight
587 $terminal_columns = $term->ncol 709 $terminal_columns = $term->ncol
588 $has_focus = $term->focus 710 $has_focus = $term->focus
589 $is_mapped = $term->mapped 711 $is_mapped = $term->mapped
590 $max_scrollback = $term->saveLines 712 $max_scrollback = $term->saveLines
591 $nrow_plus_saveLines = $term->total_rows 713 $nrow_plus_saveLines = $term->total_rows
592 $lines_in_scrollback = $term->nsaved 714 $topmost_scrollback_row = $term->top_row
593 Return various integers describing terminal characteristics. 715 Return various integers describing terminal characteristics.
594 716
595 $x_display = $term->display_id 717 $x_display = $term->display_id
596 Return the DISPLAY used by rxvt-unicode. 718 Return the DISPLAY used by rxvt-unicode.
597 719
608 Return the modifier masks corresponding to the "ISO Level 3 Shift" 730 Return the modifier masks corresponding to the "ISO Level 3 Shift"
609 (often AltGr), the meta key (often Alt) and the num lock key, if 731 (often AltGr), the meta key (often Alt) and the num lock key, if
610 applicable. 732 applicable.
611 733
612 $view_start = $term->view_start ([$newvalue]) 734 $view_start = $term->view_start ([$newvalue])
613 Returns the negative row number of the topmost line. Minimum value 735 Returns the row number of the topmost displayed line. Maximum value
614 is 0, which displays the normal terminal contents. Larger values 736 is 0, which displays the normal terminal contents. Lower values
615 scroll this many lines into the scrollback buffer. 737 scroll this many lines into the scrollback buffer.
616 738
617 $term->want_refresh 739 $term->want_refresh
618 Requests a screen refresh. At the next opportunity, rxvt-unicode 740 Requests a screen refresh. At the next opportunity, rxvt-unicode
619 will compare the on-screen display with its stored representation. 741 will compare the on-screen display with its stored representation.
687 Return the row number of the first/last row of the line, 809 Return the row number of the first/last row of the line,
688 respectively. 810 respectively.
689 811
690 $offset = $line->offset_of ($row, $col) 812 $offset = $line->offset_of ($row, $col)
691 Returns the character offset of the given row|col pair within 813 Returns the character offset of the given row|col pair within
692 the logical line. 814 the logical line. Works for rows outside the line, too, and
815 returns corresponding offsets outside the string.
693 816
694 ($row, $col) = $line->coord_of ($offset) 817 ($row, $col) = $line->coord_of ($offset)
695 Translates a string offset into terminal coordinates again. 818 Translates a string offset into terminal coordinates again.
696 819
697 $text = $term->special_encode $string 820 $text = $term->special_encode $string
827 This variable controls the verbosity level of the perl extension. Higher 950 This variable controls the verbosity level of the perl extension. Higher
828 numbers indicate more verbose output. 951 numbers indicate more verbose output.
829 952
830 == 0 - fatal messages 953 == 0 - fatal messages
831 >= 3 - script loading and management 954 >= 3 - script loading and management
832 >=10 - all events received 955 >=10 - all called hooks
956 >=11 - hook reutrn values
833 957
834AUTHOR 958AUTHOR
835 Marc Lehmann <pcg@goof.com> 959 Marc Lehmann <pcg@goof.com>
836 http://software.schmorp.de/pkg/rxvt-unicode 960 http://software.schmorp.de/pkg/rxvt-unicode
837 961

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines