--- rxvt-unicode/doc/rxvtperl.3.html 2006/01/03 01:45:12 1.7 +++ rxvt-unicode/doc/rxvtperl.3.html 2006/01/03 23:41:37 1.10 @@ -20,9 +20,10 @@
urxvt
Packageurxvt
Packageurxvt::term
Classurxvt::term
Classurxvt::timer
Classurxvt::iow
Class--quoting-style=shell
.
+It also offers the following bindable event:
@@ -113,7 +120,7 @@
All objects (such as terminals, time watchers etc.) are typical
reference-to-hash objects. The hash can be used to store anything you
like. All members starting with an underscore (such as _ptr
or
-_hook
) are reserved for internal uses and must not be accessed or
+_hook
) are reserved for internal uses and MUST NOT be accessed or
modified).
When objects are destroyed on the C++ side, the perl object hashes are emptied, so its best to store related objects such as time watchers and @@ -122,8 +129,13 @@
The following subroutines can be declared in loaded scripts, and will be called -whenever the relevant event happens.
+The following subroutines can be declared in loaded scripts, and will be +called whenever the relevant event happens.
+The first argument passed to them is an object private to each terminal
+and extension package. You can call all urxvt::term
methods on it, but
+its not a real urxvt::term
object. Instead, the real urxvt::term
+object that is shared between all packages is stored in the term
+member.
All of them must return a boolean value. If it is true, then the event counts as being consumed, and the invocation of other hooks is skipped, and the relevant action might not be carried out by the C++ code.
@@ -174,6 +186,18 @@Returning a true value aborts selection grabbing. It will still be hilighted.
+See the selection example extension.
++
urxvt
Packageurxvt::term
object.
++
urxvt
Package+
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.
+The methods currently supported on urxvt::overlay
objects are:
$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.
$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
.
+line -$term->nsaved
. Nothing will be returned if a nonexistent line
+is requested.
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 iindex in the rendition will
+to replace only parts of a line. The font index in the rendition will
automatically be updated.
The methods $term->special_encode
and $term->special_decode
+
The methods $term->special_encode
and $term->special_decode
can be used to convert normal strings into this encoding and vice versa.
When setting rendition, the font mask will be ignored.
See the section on RENDITION, below.
+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.
+Returns the number of screen cells that are in use (``the line
+length''). Unlike the urxvt core, this returns $term->ncol
if the
+line is joined with the following one.
+urxvt::line
object that stores information
+about the logical line that row $row_number
is part of. It supports the
+following methods:
+ROW_t
+ROW_r
+ROW_l
.
-
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::timer
ClassThis 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.
+This variable controls the verbosity level of the perl extension. Higher numbers indicate more verbose output.
- +