--- rxvt-unicode/doc/rxvtperl.3.html 2006/01/02 21:41:51 1.5 +++ rxvt-unicode/doc/rxvtperl.3.html 2006/01/03 04:20:37 1.8 @@ -17,9 +17,11 @@
urxvt
Packageurxvt::term
Classurxvt::timer
Classurxvt::iow
Class+
rxvtperl - rxvt-unicode's embedded perl interpreter
@@ -64,7 +67,46 @@
Scripts are compiled in a 'use strict' and 'use utf8' environment, and thus must be encoded as UTF-8.
Each script will only ever be loaded once, even in rxvtd, where -scripts will be shared (But not enabled) for all terminals.
+scripts will be shared (but not enabled) for all terminals. ++
+This section describes the extensiosn delivered with this version. You can +find them in /opt/rxvt/lib/urxvt/perl/.
+You can activate them like this:
++ rxvt -pe <extensionname>+
+ URxvt.keysym.C-M-r: perl:selection:rot13+
+
Rendition bitsets contain information about colour, font, font styles and +similar information for each screen cell.
+The following ``macros'' deal with changes in rendition sets. You should +never just create a bitset, you should always modify an existing one, +as they contain important information required for correct operation of +rxvt-unicode.
++
urxvt::term
Class$newtext
.
#=item $term->overlay ($x, $y, $text) +# +#Create a simple multi-line overlay box. See the next method for details. +# +#=cut
+sub urxvt::term::scr_overlay { +die; + my ($self, $x, $y, $text) = @_;
++ my @lines = split /\n/, $text;+
+ my $w = 0; + for (map $self->strwidth ($_), @lines) { + $w = $_ if $w < $_; + }+
+ $self->scr_overlay_new ($x, $y, $w, scalar @lines); + $self->scr_overlay_set (0, $_, $lines[$_]) for 0.. $#lines; +}
$x
or
-$y
is negative, then this is counted from the right/bottom side,
-respectively.
+width/height. $rstyle
defines the initial rendition style
+(default: OVERLAY_RSTYLE
).
If $border
is 2
(default), then a decorative border will be put
+around the box.
If either $x
or $y
is negative, then this is counted from the
+right/bottom side, respectively.
This method returns an urxvt::overlay object. The overlay will be visible +as long as the perl object is referenced.
+Currently, the only method on the urxvt::overlay
object is set
:
$term->ROW_t
and $term->ROW_r
in that it puts
+text in rxvt-unicode's special encoding and an array of rendition values
+at a specific position inside the overlay.
$data
to the tty (i.e. as program input). To
-pass characters instead of octets, you should convetr you strings first to
-the locale-specific encoding using $term->locale_encode
.
+pass characters instead of octets, you should convert your strings first
+to the locale-specific encoding using $term->locale_encode
.
+-geometry
, excluding any scrollback).
+0
, which displays the normal terminal contents. Larger values scroll
+this many lines into the scrollback buffer.
+Used after changing terminal contents to display them.
+$row_number
. Row 0
+is the topmost terminal line, row $term->$ncol-1
is the bottommost
+terminal line. The scrollback buffer starts at line -1
and extends to
+line -$term->nsaved
.
+If $new_text
is specified, it will replace characters in the current
+line, starting at column $start_col
(default 0
), which is useful
+to replace only parts of a line. The font index in the rendition will
+automatically be updated.
$text
is in a special encoding: tabs and wide characters that use more
+than one cell when displayed are padded with urxvt::NOCHAR characters
+(chr 65535
). 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 substr
and similar functions work on screen cells and not on
+characters.
The methods $term->special_encode
and $term->special_decode
+can be used to convert normal strings into this encoding and vice versa.
$term->ROW_t
, but returns an arrayref with rendition
+bitsets. Rendition bitsets contain information about colour, font, font
+styles and similar information. See also $term->ROW_t
.
+When setting rendition, the font mask will be ignored.
+See the section on RENDITION, above.
+-1
, then the line is part of a multiple-row logical ``line'', which
+means all characters are in use and it is continued on the next row.
+$term->ROW_t
for details.
+$term->ROW_t
for details.
@@ -363,22 +595,20 @@
This class implements timer watchers/events. Time is represented as a fractional number of seconds since the epoch. Example:
- # create a digital clock display in upper right corner + $term->{overlay} = $term->overlay (-1, 0, 8, 1, urxvt::OVERLAY_RSTYLE, 0); $term->{timer} = urxvt::timer ->new - ->start (urxvt::NOW) + ->interval (1) ->cb (sub { - my ($timer) = @_; - my $time = $timer->at; - $timer->start ($time + 1); - $self->scr_overlay (-1, 0, - POSIX::strftime "%H:%M:%S", localtime $time); + $term->{overlay}->set (0, 0, + sprintf "%2d:%02d:%02d", (localtime urxvt::NOW)[2,1,0]); });
$interval
is 0
), the timer will automatically
+stop after it has fired once. If $interval
is non-zero, then the timer
+is automatically rescheduled at the given intervals.
+