--- rxvt-unicode/src/urxvt.pm 2006/01/20 15:57:21 1.115 +++ rxvt-unicode/src/urxvt.pm 2006/01/21 08:07:38 1.122 @@ -93,7 +93,7 @@ Binds a popup menu to Ctrl-Button3 that lets you convert the selection text into various other formats/action (such as uri unescaping, perl -evalution, web-browser starting etc.), depending on content. +evaluation, web-browser starting etc.), depending on content. Other extensions can extend this popup menu by pushing a code reference onto C<@{ $term->{selection_popup_hook} }>, that is called whenever the @@ -164,6 +164,29 @@ every error message as a selection pattern, and the second line transforms the message into vi commands to load the file. +=item readline + +A support package that tries to make editing with readline easier. At the +moment, it reacts to clicking with the left mouse button by trying to +move the text cursor to this position. It does so by generating as many +cursor-left or cursor-right keypresses as required (the this only works +for programs that correctly support wide characters). + +To avoid too many false positives, this is only done when: + +=over 4 + +=item - the mouse is on the same (multi-row-) line as the text cursor. + +=item - the primary screen is currently being displayed. + +=item - the text cursor is visible. + +=back + +The normal selection mechanism isn't disabled, so quick successive clicks +might interfere with selection creation in harmless ways. + =item tabbed This transforms the terminal into a tabbar with additional terminals, that @@ -171,8 +194,9 @@ displays a "[NEW]" button, which, when clicked, will add a new tab, followed by one button per tab. -Clicking a button will activate that tab. Pressing Shift-Left and -Shift-Right will switch to the tab left or right of the current one. +Clicking a button will activate that tab. Pressing B and +B will switch to the tab left or right of the current one, +while B creates a new tab. =item mark-urls @@ -477,6 +501,8 @@ =item on_configure_notify $term, $event +=item on_property_notify $term, $event + =item on_key_press $term, $event, $keysym, $octets =item on_key_release $term, $event, $keysym @@ -495,8 +521,8 @@ the hook returns true, then the even will be ignored by rxvt-unicode. The event is a hash with most values as named by Xlib (see the XEvent -manpage), with the additional members C and C, which are the row -and column under the mouse cursor. +manpage), with the additional members C and C, which are the +(real, not screen-based) row and column under the mouse cursor. C additionally receives the string rxvt-unicode would output, if any, in locale-specific encoding. @@ -537,6 +563,8 @@ our $RESCLASS; our $RXVTNAME; +our $NOCHAR = chr 0xfffe; + =head2 Variables in the C Package =over 4 @@ -1259,6 +1287,10 @@ confused by changes in cursor position or scrolling. Its useful inside a C hook, though. +=item $term->scr_change_screen ($screen) + +Switch to given screen - 0 primary, 1 secondary. + =item $term->cmd_parse ($octets) Similar to C, but the argument must be in the @@ -1351,6 +1383,14 @@ Return the modifier masks corresponding to the "ISO Level 3 Shift" (often AltGr), the meta key (often Alt) and the num lock key, if applicable. +=item $screen = $term->current_screen + +Returns the currently displayed screen (0 primary, 1 secondary). + +=item $cursor_is_hidden = $term->hidden_cursor + +Returns wether the cursor is currently hidden or not. + =item $view_start = $term->view_start ([$newvalue]) Returns the row number of the topmost displayed line. Maximum value is @@ -1378,11 +1418,11 @@ to replace only parts of a line. The font index in the rendition will automatically be updated. -C<$text> is in a special encoding: tabs and wide characters that use more -than one cell when displayed are padded with urxvt::NOCHAR characters -(C). Characters with combining characters and other characters -that do not fit into the normal tetx encoding will be replaced with -characters in the private use area. +C<$text> is in a special encoding: tabs and wide characters that use +more than one cell when displayed are padded with C<$urxvt::NOCHAR> +characters. Characters with combining characters and other characters that +do not fit into the normal tetx encoding will be replaced with characters +in the private use area. You have to obey this encoding when changing text. The advantage is that C and similar functions work on screen cells and not on @@ -1567,6 +1607,36 @@ evaluation errors, as it is better to lose the grab in the error case as the session. +=item $atom = $term->XInternAtom ($atom_name[, $only_if_exists]) + +=item $atom_name = $term->XGetAtomName ($atom) + +=item @atoms = $term->XListProperties ($window) + +=item ($type,$format,$octets) = $term->XGetWindowProperty ($window, $property) + +=item $term->XChangeWindowProperty ($window, $property, $type, $format, $octets) + +=item $term->XDeleteProperty ($window, $property) + +=item $window = $term->DefaultRootWindow + +=item $term->XReparentWindow ($window, $parent, [$x, $y]) + +=item $term->XMapWindow ($window) + +=item $term->XUnmapWindow ($window) + +=item $term->XMoveResizeWindow ($window, $x, $y, $width, $height) + +=item ($x, $y, $child_window) = $term->XTranslateCoordinates ($src, $dst, $x, $y) + +=item $term->XChangeInput ($window, $add_events[, $del_events]) + +Various X or X-related functions. The C<$term> object only serves as +the source of the display, otherwise those functions map more-or-less +directory onto the X functions of the same name. + =back =cut