*** empty log message ***
authorroot <root>
Tue, 3 Jan 2006 01:39:56 +0000 (01:39 +0000)
committerroot <root>
Tue, 3 Jan 2006 01:39:56 +0000 (01:39 +0000)
doc/rxvtperl.3.html
doc/rxvtperl.3.man.in
doc/rxvtperl.3.txt
src/urxvt.pm

index 706f9b8e2d4f3cb16dd0a1a09acba9b27c1e8c5d..d2e05e617352b51735ec74f53926a2486e68e153 100644 (file)
        <li><a href="#name">NAME</a></li>
        <li><a href="#synopsis">SYNOPSIS</a></li>
        <li><a href="#description">DESCRIPTION</a></li>
+       <li><a href="#packaged_extensions">PACKAGED EXTENSIONS</a></li>
        <ul>
 
                <li><a href="#general_api_considerations">General API Considerations</a></li>
                <li><a href="#hooks">Hooks</a></li>
                <li><a href="#functions_in_the_urxvt_package">Functions in the <code>urxvt</code> Package</a></li>
                <li><a href="#the_urxvt__term_class">The <code>urxvt::term</code> Class</a></li>
+               <li><a href="#rendition">RENDITION</a></li>
                <li><a href="#the_urxvt__timer_class">The <code>urxvt::timer</code> Class</a></li>
                <li><a href="#the_urxvt__iow_class">The <code>urxvt::iow</code> Class</a></li>
        </ul>
@@ -67,6 +69,46 @@ thus must be encoded as UTF-8.</p>
 scripts will be shared (But not enabled) for all terminals.</p>
 <p>
 </p>
+<hr />
+<h1><a name="packaged_extensions">PACKAGED EXTENSIONS</a></h1>
+<p>This section describes the extensiosn delivered with this version. You can
+find them in <em>/opt/rxvt/lib/urxvt/perl/</em>.</p>
+<p>You can activate them like this:</p>
+<pre>
+  rxvt -pe &lt;extensionname&gt;</pre>
+<dl>
+<dt><strong><a name="item_selection">selection</a></strong><br />
+</dt>
+<dd>
+Miscellaneous selection modifications.
+</dd>
+<dl>
+<dt><strong><a name="item_rot13">rot13</a></strong><br />
+</dt>
+<dd>
+Rot-13 the selection when activated. Used via keyboard trigger:
+</dd>
+<dd>
+<pre>
+   URxvt.keysym.C-M-r: perl:selection:rot13</pre>
+</dd>
+<p></p></dl>
+<dt><strong><a name="item_digital_2dclock">digital-clock</a></strong><br />
+</dt>
+<dd>
+Displays a very simple digital clock in the upper right corner of the
+window. Illustrates overwriting the refresh callbacks to create your own
+overlays or changes.
+</dd>
+<p></p>
+<dt><strong><a name="item_simple_2doverlay_2dclock">simple-overlay-clock</a></strong><br />
+</dt>
+<dd>
+Displays a digital clock using the built-in overlay (colorful, useless).
+</dd>
+<p></p></dl>
+<p>
+</p>
 <h2><a name="general_api_considerations">General API Considerations</a></h2>
 <p>All objects (such as terminals, time watchers etc.) are typical
 reference-to-hash objects. The hash can be used to store anything you
@@ -290,7 +332,7 @@ Try to request the primary selection from the server (for example, as set
 by the next method).
 </dd>
 <p></p>
-<dt><strong><a name="item_selection">$oldtext = $term-&gt;selection ([$newtext])</a></strong><br />
+<dt><strong>$oldtext = $term-&gt;selection ([$newtext])</strong><br />
 </dt>
 <dd>
 Return the current selection text and optionally replace it by <code>$newtext</code>.
@@ -353,8 +395,127 @@ Convert the given locale-encoded octets into a perl string.
 </dt>
 <dd>
 Write the octets given in <code>$data</code> 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 <a href="#item_locale_encode"><code>$term-&gt;locale_encode</code></a>.
+pass characters instead of octets, you should convert your strings first
+to the locale-specific encoding using <a href="#item_locale_encode"><code>$term-&gt;locale_encode</code></a>.
+</dd>
+<p></p>
+<dt><strong><a name="item_nrow">$nrow = $term-&gt;nrow</a></strong><br />
+</dt>
+<dt><strong><a name="item_ncol">$ncol = $term-&gt;ncol</a></strong><br />
+</dt>
+<dd>
+Return the number of rows/columns of the terminal window (i.e. as
+specified by <code>-geometry</code>, excluding any scrollback).
+</dd>
+<p></p>
+<dt><strong><a name="item_nsaved">$nsaved = $term-&gt;nsaved</a></strong><br />
+</dt>
+<dd>
+Returns the number of lines in the scrollback buffer.
+</dd>
+<p></p>
+<dt><strong><a name="item_view_start">$view_start = $term-&gt;view_start ([$newvalue])</a></strong><br />
+</dt>
+<dd>
+Returns the negative row number of the topmost line. Minimum value is
+<code>0</code>, which displays the normal terminal contents. Larger values scroll
+this many lines into the scrollback buffer.
+</dd>
+<p></p>
+<dt><strong><a name="item_want_refresh">$term-&gt;want_refresh</a></strong><br />
+</dt>
+<dd>
+Requests a screen refresh. At the next opportunity, rxvt-unicode will
+compare the on-screen display with its stored representation. If they
+differ, it redraws the differences.
+</dd>
+<dd>
+<p>Used after changing terminal contents to display them.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_row_t">$text = $term-&gt;ROW_t ($row_number[, $new_text[, $start_col]])</a></strong><br />
+</dt>
+<dd>
+Returns the text of the entire row with number <code>$row_number</code>. Row <code>0</code>
+is the topmost terminal line, row <code>$term-&gt;$ncol-1</code> is the bottommost
+terminal line. The scrollback buffer starts at line <code>-1</code> and extends to
+line <a href="#item_nsaved"><code>-$term-&gt;nsaved</code></a>.
+</dd>
+<dd>
+<p>If <code>$new_text</code> is specified, it will replace characters in the current
+line, starting at column <code>$start_col</code> (default <code>0</code>), which is useful
+to replace only parts of a line. The font iindex in the rendition will
+automatically be updated.</p>
+</dd>
+<dd>
+<p><code>$text</code> is in a special encoding: tabs and wide characters that use more
+than one cell when displayed are padded with urxvt::NOCHAR characters
+(<code>chr 65535</code>). 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.</p>
+</dd>
+<dd>
+<p>You have to obey this encoding when changing text. The advantage is
+that <code>substr</code> and similar functions work on screen cells and not on
+characters.</p>
+</dd>
+<dd>
+<p>The methods <a href="#item_special_encode"><code>$term-&gt;special_encode</code></a> and <a href="#item_special_decode"><code>$term-&gt;special_decode</code></a>
+can be used to convert normal strings into this encoding and vice versa.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_row_r">$rend = $term-&gt;ROW_r ($row_number[, $new_rend[, $start_col]])</a></strong><br />
+</dt>
+<dd>
+Like <a href="#item_row_t"><code>$term-&gt;ROW_t</code></a>, but returns an arrayref with rendition
+bitsets. Rendition bitsets contain information about colour, font, font
+styles and similar information. See also <a href="#item_row_t"><code>$term-&gt;ROW_t</code></a>.
+</dd>
+<dd>
+<p>When setting rendition, the font mask will be ignored.</p>
+</dd>
+<dd>
+<p>See the section on RENDITION, below.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_row_l">$length = $term-&gt;ROW_l ($row_number[, $new_length])</a></strong><br />
+</dt>
+<dd>
+Returns the number of screen cells that are in use (``the line length''). If
+it is <code>-1</code>, 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.
+</dd>
+<p></p>
+<dt><strong><a name="item_special_encode">$text = $term-&gt;special_encode $string</a></strong><br />
+</dt>
+<dd>
+Converts a perl string into the special encoding used by rxvt-unicode,
+where one character corresponds to one screen cell. See
+<a href="#item_row_t"><code>$term-&gt;ROW_t</code></a> for details.
+</dd>
+<p></p>
+<dt><strong><a name="item_special_decode">$string = $term-&gt;special_decode $text</a></strong><br />
+</dt>
+<dd>
+Converts rxvt-unicodes text reprsentation into a perl string. See
+<a href="#item_row_t"><code>$term-&gt;ROW_t</code></a> for details.
+</dd>
+<p></p></dl>
+<p>
+</p>
+<h2><a name="rendition">RENDITION</a></h2>
+<p>Rendition bitsets contain information about colour, font, font styles and
+similar information for each screen cell.</p>
+<p>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.</p>
+<dl>
+<dt><strong><a name="item__24rend__3d_urxvt_3a_3adefault_rstyle">$rend = urxvt::DEFAULT_RSTYLE</a></strong><br />
+</dt>
+<dd>
+Returns the default rendition, as used when the terminal is starting up or
+being reset. Useful as a base
 </dd>
 <p></p></dl>
 <p>
index fedbc93df6cf99d1969016ee7c741d917e97ce0f..7e0ae02de7debb26455902f2351c075f6af04aa9 100644 (file)
 .\" ========================================================================
 .\"
 .IX Title "rxvt 3"
-.TH rxvt 3 "2006-01-02" "6.2" "RXVT-UNICODE"
+.TH rxvt 3 "2006-01-03" "6.2" "RXVT-UNICODE"
 .SH "NAME"
 @@RXVT_NAME@@perl \- rxvt\-unicode's embedded perl interpreter
 .SH "SYNOPSIS"
@@ -162,6 +162,38 @@ thus must be encoded as \s-1UTF\-8\s0.
 .PP
 Each script will only ever be loaded once, even in @@RXVT_NAME@@d, where
 scripts will be shared (But not enabled) for all terminals.
+.SH "PACKAGED EXTENSIONS"
+.IX Header "PACKAGED EXTENSIONS"
+This section describes the extensiosn delivered with this version. You can
+find them in \fI@@RXVT_LIBDIR@@/urxvt/perl/\fR.
+.PP
+You can activate them like this:
+.PP
+.Vb 1
+\&  @@RXVT_NAME@@ -pe <extensionname>
+.Ve
+.IP "selection" 4
+.IX Item "selection"
+Miscellaneous selection modifications.
+.RS 4
+.IP "rot13" 4
+.IX Item "rot13"
+Rot\-13 the selection when activated. Used via keyboard trigger:
+.Sp
+.Vb 1
+\&   URxvt.keysym.C-M-r: perl:selection:rot13
+.Ve
+.RE
+.RS 4
+.RE
+.IP "digital-clock" 4
+.IX Item "digital-clock"
+Displays a very simple digital clock in the upper right corner of the
+window. Illustrates overwriting the refresh callbacks to create your own
+overlays or changes.
+.IP "simple-overlay-clock" 4
+.IX Item "simple-overlay-clock"
+Displays a digital clock using the built-in overlay (colorful, useless).
 .Sh "General \s-1API\s0 Considerations"
 .IX Subsection "General API Considerations"
 All objects (such as terminals, time watchers etc.) are typical
@@ -385,8 +417,100 @@ Convert the given locale-encoded octets into a perl string.
 .IP "$term\->tt_write ($octets)" 4
 .IX Item "$term->tt_write ($octets)"
 Write the octets given in \f(CW$data\fR 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 \f(CW\*(C`$term\->locale_encode\*(C'\fR.
+pass characters instead of octets, you should convert your strings first
+to the locale-specific encoding using \f(CW\*(C`$term\->locale_encode\*(C'\fR.
+.ie n .IP "$nrow = $term\->nrow" 4
+.el .IP "$nrow = \f(CW$term\fR\->nrow" 4
+.IX Item "$nrow = $term->nrow"
+.PD 0
+.ie n .IP "$ncol = $term\->ncol" 4
+.el .IP "$ncol = \f(CW$term\fR\->ncol" 4
+.IX Item "$ncol = $term->ncol"
+.PD
+Return the number of rows/columns of the terminal window (i.e. as
+specified by \f(CW\*(C`\-geometry\*(C'\fR, excluding any scrollback).
+.ie n .IP "$nsaved = $term\->nsaved" 4
+.el .IP "$nsaved = \f(CW$term\fR\->nsaved" 4
+.IX Item "$nsaved = $term->nsaved"
+Returns the number of lines in the scrollback buffer.
+.ie n .IP "$view_start = $term\->view_start ([$newvalue])" 4
+.el .IP "$view_start = \f(CW$term\fR\->view_start ([$newvalue])" 4
+.IX Item "$view_start = $term->view_start ([$newvalue])"
+Returns the negative row number of the topmost line. Minimum value is
+\&\f(CW0\fR, which displays the normal terminal contents. Larger values scroll
+this many lines into the scrollback buffer.
+.IP "$term\->want_refresh" 4
+.IX Item "$term->want_refresh"
+Requests a screen refresh. At the next opportunity, rxvt-unicode will
+compare the on-screen display with its stored representation. If they
+differ, it redraws the differences.
+.Sp
+Used after changing terminal contents to display them.
+.ie n .IP "$text = $term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col]])" 4
+.el .IP "$text = \f(CW$term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col\fR]])" 4
+.IX Item "$text = $term->ROW_t ($row_number[, $new_text[, $start_col]])"
+Returns the text of the entire row with number \f(CW$row_number\fR. Row \f(CW0\fR
+is the topmost terminal line, row \f(CW\*(C`$term\->$ncol\-1\*(C'\fR is the bottommost
+terminal line. The scrollback buffer starts at line \f(CW\*(C`\-1\*(C'\fR and extends to
+line \f(CW\*(C`\-$term\->nsaved\*(C'\fR.
+.Sp
+If \f(CW$new_text\fR is specified, it will replace characters in the current
+line, starting at column \f(CW$start_col\fR (default \f(CW0\fR), which is useful
+to replace only parts of a line. The font iindex in the rendition will
+automatically be updated.
+.Sp
+\&\f(CW$text\fR is in a special encoding: tabs and wide characters that use more
+than one cell when displayed are padded with urxvt::NOCHAR characters
+(\f(CW\*(C`chr 65535\*(C'\fR). 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.
+.Sp
+You have to obey this encoding when changing text. The advantage is
+that \f(CW\*(C`substr\*(C'\fR and similar functions work on screen cells and not on
+characters.
+.Sp
+The methods \f(CW\*(C`$term\->special_encode\*(C'\fR and \f(CW\*(C`$term\->special_decode\*(C'\fR
+can be used to convert normal strings into this encoding and vice versa.
+.ie n .IP "$rend = $term\fR\->ROW_r ($row_number[, \f(CW$new_rend\fR[, \f(CW$start_col]])" 4
+.el .IP "$rend = \f(CW$term\fR\->ROW_r ($row_number[, \f(CW$new_rend\fR[, \f(CW$start_col\fR]])" 4
+.IX Item "$rend = $term->ROW_r ($row_number[, $new_rend[, $start_col]])"
+Like \f(CW\*(C`$term\->ROW_t\*(C'\fR, but returns an arrayref with rendition
+bitsets. Rendition bitsets contain information about colour, font, font
+styles and similar information. See also \f(CW\*(C`$term\->ROW_t\*(C'\fR.
+.Sp
+When setting rendition, the font mask will be ignored.
+.Sp
+See the section on \s-1RENDITION\s0, below.
+.ie n .IP "$length = $term\fR\->ROW_l ($row_number[, \f(CW$new_length])" 4
+.el .IP "$length = \f(CW$term\fR\->ROW_l ($row_number[, \f(CW$new_length\fR])" 4
+.IX Item "$length = $term->ROW_l ($row_number[, $new_length])"
+Returns the number of screen cells that are in use (\*(L"the line length\*(R"). If
+it is \f(CW\*(C`\-1\*(C'\fR, then the line is part of a multiple-row logical \*(L"line\*(R", which
+means all characters are in use and it is continued on the next row.
+.ie n .IP "$text = $term\fR\->special_encode \f(CW$string" 4
+.el .IP "$text = \f(CW$term\fR\->special_encode \f(CW$string\fR" 4
+.IX Item "$text = $term->special_encode $string"
+Converts a perl string into the special encoding used by rxvt\-unicode,
+where one character corresponds to one screen cell. See
+\&\f(CW\*(C`$term\->ROW_t\*(C'\fR for details.
+.ie n .IP "$string = $term\fR\->special_decode \f(CW$text" 4
+.el .IP "$string = \f(CW$term\fR\->special_decode \f(CW$text\fR" 4
+.IX Item "$string = $term->special_decode $text"
+Converts rxvt-unicodes text reprsentation into a perl string. See
+\&\f(CW\*(C`$term\->ROW_t\*(C'\fR for details.
+.Sh "\s-1RENDITION\s0"
+.IX Subsection "RENDITION"
+Rendition bitsets contain information about colour, font, font styles and
+similar information for each screen cell.
+.PP
+The following \*(L"macros\*(R" 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.
+.IP "$rend = urxvt::DEFAULT_RSTYLE" 4
+.IX Item "$rend = urxvt::DEFAULT_RSTYLE"
+Returns the default rendition, as used when the terminal is starting up or
+being reset. Useful as a base
 .ie n .Sh "The ""urxvt::timer"" Class"
 .el .Sh "The \f(CWurxvt::timer\fP Class"
 .IX Subsection "The urxvt::timer Class"
index b90ba3a52236d0dbb6e2048c1adbf2fe5e7b5170..1cb419778da30ec333ff16e7433ce057376c8fd7 100644 (file)
@@ -23,6 +23,31 @@ DESCRIPTION
     Each script will only ever be loaded once, even in rxvtd, where scripts
     will be shared (But not enabled) for all terminals.
 
+PACKAGED EXTENSIONS
+    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>
+
+    selection
+        Miscellaneous selection modifications.
+
+        rot13
+            Rot-13 the selection when activated. Used via keyboard trigger:
+
+               URxvt.keysym.C-M-r: perl:selection:rot13
+
+    digital-clock
+        Displays a very simple digital clock in the upper right corner of
+        the window. Illustrates overwriting the refresh callbacks to create
+        your own overlays or changes.
+
+    simple-overlay-clock
+        Displays a digital clock using the built-in overlay (colorful,
+        useless).
+
   General API Considerations
     All objects (such as terminals, time watchers etc.) are typical
     reference-to-hash objects. The hash can be used to store anything you
@@ -215,8 +240,90 @@ DESCRIPTION
 
     $term->tt_write ($octets)
         Write the octets given in $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".
+        To pass characters instead of octets, you should convert your
+        strings first to the locale-specific encoding using
+        "$term->locale_encode".
+
+    $nrow = $term->nrow
+    $ncol = $term->ncol
+        Return the number of rows/columns of the terminal window (i.e. as
+        specified by "-geometry", excluding any scrollback).
+
+    $nsaved = $term->nsaved
+        Returns the number of lines in the scrollback buffer.
+
+    $view_start = $term->view_start ([$newvalue])
+        Returns the negative row number of the topmost line. Minimum value
+        is 0, which displays the normal terminal contents. Larger values
+        scroll this many lines into the scrollback buffer.
+
+    $term->want_refresh
+        Requests a screen refresh. At the next opportunity, rxvt-unicode
+        will compare the on-screen display with its stored representation.
+        If they differ, it redraws the differences.
+
+        Used after changing terminal contents to display them.
+
+    $text = $term->ROW_t ($row_number[, $new_text[, $start_col]])
+        Returns the text of the entire row with number $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 iindex 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.
+
+    $rend = $term->ROW_r ($row_number[, $new_rend[, $start_col]])
+        Like "$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, below.
+
+    $length = $term->ROW_l ($row_number[, $new_length])
+        Returns the number of screen cells that are in use ("the line
+        length"). If it is -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.
+
+    $text = $term->special_encode $string
+        Converts a perl string into the special encoding used by
+        rxvt-unicode, where one character corresponds to one screen cell.
+        See "$term->ROW_t" for details.
+
+    $string = $term->special_decode $text
+        Converts rxvt-unicodes text reprsentation into a perl string. See
+        "$term->ROW_t" for details.
+
+  RENDITION
+    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.
+
+    $rend = urxvt::DEFAULT_RSTYLE
+        Returns the default rendition, as used when the terminal is starting
+        up or being reset. Useful as a base
 
   The "urxvt::timer" Class
     This class implements timer watchers/events. Time is represented as a
index 90fd68170b313eca89d3c20c2b833afc26678170..da9f7cdcb56b39af265a925d82321f2f58d52197 100644 (file)
@@ -24,7 +24,7 @@ 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 @@RXVT_NAME@@d, where
-scripts will be shared (But not enabled) for all terminals.
+scripts will be shared (but not enabled) for all terminals.
 
 =head1 PACKAGED EXTENSIONS