--- rxvt-unicode/doc/rxvtperl.3.html 2006/01/10 19:46:28 1.21 +++ rxvt-unicode/doc/rxvtperl.3.html 2006/01/13 01:09:37 1.28 @@ -87,12 +87,42 @@
(More) intelligent selection. This extension tries to be more intelligent -when the user extends selections (double-click). Right now, it tries to -select urls and complete shell-quoted arguments, which is very convenient, -too, if your ls supports --quoting-style=shell. +when the user extends selections (double-click and further clicks). Right +now, it tries to select words, urls and complete shell-quoted +arguments, which is very convenient, too, if your ls supports +--quoting-style=shell.
-

It also offers the following bindable keyboard command:

+

A double-click usually selects the word under the cursor, further clicks +will enlarge the selection.

+
+
+

The selection works by trying to match a number of regexes and displaying +them in increasing order of length. You can add your own regexes by +specifying resources of the form:

+
+
+
+   URxvt.selection.pattern-0: perl-regex
+   URxvt.selection.pattern-1: perl-regex
+   ...
+
+
+

The index number (0, 1...) must not have any holes, and each regex must +contain at least one pair of capturing parentheses, which will be used for +the match. For example, the followign adds a regex that matches everything +between two vertical bars:

+
+
+
+   URxvt.selection.pattern-0: \\|([^|]+)\\|
+
+
+

You can look at the source of the selection extension to see more +interesting uses, such as parsing a line from beginning to end.

+
+
+

This extension also offers the following bindable keyboard command:

rot13
@@ -124,26 +154,78 @@
Adds regex search functionality to the scrollback buffer, triggered -by a hotkey (default: M-s). When in search mode, normal terminal -input/output is suspended. +by a hotkey (default: M-s). While in search mode, normal terminal +input/output is suspended and a regex is displayed at the bottom of the +screen.
-

/ starts an incremental regex search, n searches further, p or -N jump to the previous match, G jumps to the bottom and clears the -history, enter leaves search mode at the current position and escape -returns to the original position.

+

Inputting characters appends them to the regex and continues incremental +search. BackSpace removes a character from the regex, Up and Down +search upwards/downwards in the scrollback buffer, End jumps to the +bottom. Escape leaves search mode and returns to the point where search +was started, while Enter or Return stay at the current position and +additionally stores the first match in the current line into the primary +selection.

-
digital-clock
+
selection-autotransform
-Displays a digital clock using the built-in overlay. +This selection allows you to do automatic transforms on a selection +whenever a selection is made. +
+
+

It works by specifying perl snippets (most useful is a single s/// +operator) that modify $_ as resources:

+
+
+
+   URxvt.selection-autotransform.0: transform
+   URxvt.selection-autotransform.1: transform
+   ...
+
+
+

For example, the following will transform selections of the form +filename:number, often seen in compiler messages, into vi +$filename +$word:

+
+
+
+   URxvt.selection-autotransform.0: s/^(\\S+):(\\d+):?$/vi +$2 \\Q$1\\E\\x0d/
+
+
+

And this example matches the same,but replaces it with vi-commands you can +paste directly into your (vi :) editor:

+
+
+
+   URxvt.selection-autotransform.0: s/^(S+):(d+):?$/\\x1b:e \\Q$1\\E\\x0d:$2\\x0d/
+
+
+

Of course, this can be modified to suit your needs and your editor :)

+
+
+

To expand the example above to typical perl error messages (``XXX at +FILENAME line YYY.''), you need a slightly more elaborate solution:

+
+
+
+   URxvt.selection.pattern-0: ( at .*? line \\d+\\.)
+   URxvt.selection-autotransform.0: s/^ at (.*?) line (\\d+)\\.$/\x1b:e \\Q$1\E\\x0d:$2\\x0d/
+
+
+

The first line tells the selection code to treat the unchanging part of +every error message as a selection pattern, and the second line transforms +the message into vi commands to load the file.

mark-urls
-Uses per-line display filtering (on_line_update) to underline urls. +Uses per-line display filtering (on_line_update) to underline urls and +make them clickable. When middle-clicked, the program specified in the +resource urlLauncher (default x-www-browser) will be started with +the URL as first argument.

block-graphics-to-ascii
@@ -154,6 +236,12 @@ similar-looking ascii character.

+
digital-clock
+
+
+Displays a digital clock using the built-in overlay. +
+

example-refresh-hooks
@@ -185,7 +273,7 @@
Rxvt-unicodes special way of encoding text, where one ``unicode'' character -always represents one screen cell. See row_t for a discussion of this format. +always represents one screen cell. See ROW_t for a discussion of this format.

$string
@@ -303,7 +391,9 @@ Called whenever the user tries to extend the selection (e.g. with a double click) and is either supposed to return false (normal operation), or should extend the selection itelf and return true to suppress the built-in -processing. +processing. This can happen multiple times, as long as the callback +returns true, it will be called on every further click by the user and is +supposed to enlarge the selection more and more, if possible.

See the selection example extension.

@@ -478,23 +568,11 @@ The current terminal. This variable stores the current urxvt::term object, whenever a callback/hook is executing.
-

-
-
+

Functions in the urxvt Package

-
$term = new urxvt [arg...]
-
-
-Creates a new terminal, very similar as if you had started it with -system $binfile, arg.... Croaks (and probably outputs an error message) -if the new instance couldn't be created. Returns undef if the new -instance didn't initialise perl, and the terminal object otherwise. The -init and start hooks will be called during the call. -
-

urxvt::fatal $errormessage
@@ -514,6 +592,9 @@

Using this function has the advantage that its output ends up in the correct place, e.g. on stderr of the connecting urxvtc client.

+
+

Messages have a size limit of 1023 bytes currently.

+

$is_safe = urxvt::safe
@@ -614,6 +695,20 @@

The urxvt::term Class

+
$term = new urxvt::term $envhashref, $rxvtname, [arg...]
+
+
+Creates a new terminal, very similar as if you had started it with system +$rxvtname, arg.... $envhashref must be a reference to a %ENV-like +hash which defines the environment of the new terminal. +
+
+

Croaks (and probably outputs an error message) if the new instance +couldn't be created. Returns undef if the new instance didn't +initialise perl, and the terminal object otherwise. The init and +start hooks will be called during this call.

+
+

$term->destroy
@@ -685,6 +780,20 @@ utmpInhibit visualBell

+
$value = $term->x_resource ($pattern)
+
+
+Returns the X-Resource for the given pattern, excluding the program or +class name, i.e. $term->x_resource ("boldFont") should return the +same value as used by this instance of rxvt-unicode. Returns undef if no +resource with that pattern exists. +
+
+

This method should only be called during the on_start hook, as there is +only one resource database per display, and later invocations might return +the wrong resources.

+
+

$success = $term->parse_keysym ($keysym_spec, $command_string)
@@ -717,11 +826,21 @@ and optionally set them to new values.

+
$term->selection_make ($eventtime[, $rectangular])
+
+
+Tries to make a selection as set by selection_beg and +selection_end. If $rectangular is true (default: false), a +rectangular selection will be made. This is the prefered function to make +a selection. +
+

$success = $term->selection_grab ($eventtime)
-Try to request the primary selection from the server (for example, as set -by the next method). +Try to request the primary selection text from the server (for example, as +set by the next method). No visual feedback will be given. This function +is mostly useful from within on_sel_grab hooks.

$oldtext = $term->selection ([$newtext])
@@ -810,8 +929,8 @@
XORs the rendition values in the given span with the provided value -(default: RS_RVid). Useful in refresh hooks to provide effects similar -to the selection. +(default: RS_RVid), which MUST NOT contain font styles. Useful in +refresh hooks to provide effects similar to the selection.

$term->scr_xor_rect ($beg_row, $beg_col, $end_row, $end_col[, $rstyle1[, $rstyle2]])
@@ -820,7 +939,7 @@ Similar to scr_xor_span, but xors a rectangle instead. Trailing whitespace will additionally be xored with the $rstyle2, which defaults to RS_RVid | RS_Uline, which removes reverse video again and underlines -it instead. +it instead. Both styles MUST NOT contain font styles.

$term->scr_bell
@@ -908,16 +1027,23 @@ Return various integers describing terminal characteristics.

+
$x_display = $term->display_id
+
+
+Return the DISPLAY used by rxvt-unicode. +
+

$lc_ctype = $term->locale
Returns the LC_CTYPE category string used by this rxvt-unicode.

-
$x_display = $term->display_id
+
$env = $term->env
-Return the DISPLAY used by rxvt-unicode. +Returns a copy of the environment in effect for the terminal as a hashref +similar to \%ENV.

$modifiermask = $term->ModLevel3Mask
@@ -1051,7 +1177,8 @@
Returns the character offset of the given row|col pair within the logical -line. +line. Works for rows outside the line, too, and returns corresponding +offsets outside the string.

($row, $col) = $line->coord_of ($offset)
@@ -1289,7 +1416,9 @@
>= 3 - script loading and management
-
>=10 - all events received
+
>=10 - all called hooks
+
+
>=11 - hook reutrn values