*** empty log message ***
authorroot <root>
Mon, 9 Jan 2006 01:36:56 +0000 (01:36 +0000)
committerroot <root>
Mon, 9 Jan 2006 01:36:56 +0000 (01:36 +0000)
Changes
doc/rxvt.1.html
doc/rxvt.1.man.in
doc/rxvt.1.pod
doc/rxvt.1.txt
doc/rxvtperl.3.html
doc/rxvtperl.3.man.in
doc/rxvtperl.3.txt
src/rxvtperl.xs
src/urxvt.pm

diff --git a/Changes b/Changes
index 1e4f5f0e08ea5c92211c73f101e9f118d6ba8322..81d12f9b38027d8a5eb500c90943d354d920f1f7 100644 (file)
--- a/Changes
+++ b/Changes
@@ -9,20 +9,19 @@ WISH: OnTheSpot editing, or maybe switch to miiiiiiif
 WISH: just for fun, do shade and tint with XRender.
 WISH: support tex fonts
 
-TODO: document transient_for, vt and the grab etc. functionality
-
-       - perl: implement additional hook: line_update, add_lines.
+       - selection, selection-popup and option-popup extensions
+          enabled by default.
+        - perl: much increased functionality, better overlays, popup support
+          and much much more.
         - perl: urxvt::line now can set via ->t and ->r.
         - perl: changed interpretation of --perl-ext-common and -pe.
         - perl: finally implemented --perl-eval.
-        - perl: much increased functionality, better overlays, popup support
-          and much much more.
-        - perl: anyevent support.
-        - perl: run tainted and ignore perl-eval/perl-lib if installed
+        - perl: non-blocking anyevent support.
+        - perl: run tainted and ignore perl-eval/perl-lib if started
           setuid/setgid.
-        - free the resource database: this plugs a massive memory hole. as a
+        - free the resource database: this plugs a massive memory leak. As a
           side effect, it also gets rid of XGetDefault calls.
-        - free one of the cursors, fixes a small memory leaks.
+        - free one of the cursors, fixes a small memory leak.
 
 6.3  Wed Jan  4 22:37:10 CET 2006
         - SECURITY FIX: on systems using openpty, permissions were
index 503dea3d153113ffd33b16d64393db15bab354f9..322a898329a05d9cd3831651191e7e122441164f 100644 (file)
@@ -1479,8 +1479,9 @@ all instances, while <strong>perl-ext</strong> is used for specific instances.</
 <dt><strong><a name="item_perl_2deval_3a_string"><strong>perl-eval</strong>: <em>string</em></a></strong><br />
 </dt>
 <dd>
-Perl code to be evaluated when all extensions have been registered. See the
-<code>rxvtperl(3)</code> manpage.
+Perl code to be evaluated when all extensions have been registered. See
+the <code>rxvtperl(3)</code> manpage. Due to security reasons, this resource
+will be ignored when running setuid/setgid.
 </dd>
 <p></p>
 <dt><strong><a name="item_perl_2dlib_3a_path"><strong>perl-lib</strong>: <em>path</em></a></strong><br />
@@ -1489,11 +1490,18 @@ Perl code to be evaluated when all extensions have been registered. See the
 Colon-separated list of additional directories that hold extension
 scripts. When looking for extensions specified by the <code>perl</code> resource,
 rxvt will first look in these directories and then in
-<em>/opt/rxvt/lib/urxvt/perl/</em>.
+<em>/opt/rxvt/lib/urxvt/perl/</em>. Due to security reasons, this resource
+will be ignored when running setuid/setgid.
 </dd>
 <dd>
 <p>See the <code>rxvtperl(3)</code> manpage.</p>
 </dd>
+<p></p>
+<dt><strong><a name="item_transient_2dfor_3a_windowid"><strong>transient-for</strong>: <em>windowid</em></a></strong><br />
+</dt>
+<dd>
+Sets the WM_TRANSIENT_FOR property to the given window iw.
+</dd>
 <p></p></dl>
 <p>
 </p>
index 6ca90217f3cee955af69adfc2aee9a09d7f9f127..27119dd0600d2081624e4df716258c03d23e64de 100644 (file)
 .\" ========================================================================
 .\"
 .IX Title "rxvt 1"
-.TH rxvt 1 "2006-01-08" "6.3" "RXVT-UNICODE"
+.TH rxvt 1 "2006-01-09" "6.3" "RXVT-UNICODE"
 .SH "NAME"
 rxvt\-unicode (ouR XVT, unicode) \- (a VT102 emulator for the X window system)
 .SH "SYNOPSIS"
@@ -1130,16 +1130,21 @@ interpreter will not be initialized. The idea behind two options is that
 all instances, while \fBperl-ext\fR is used for specific instances.
 .IP "\fBperl-eval\fR: \fIstring\fR" 4
 .IX Item "perl-eval: string"
-Perl code to be evaluated when all extensions have been registered. See the
-@@RXVT_NAME@@\fIperl\fR\|(3) manpage.
+Perl code to be evaluated when all extensions have been registered. See
+the @@RXVT_NAME@@\fIperl\fR\|(3) manpage. Due to security reasons, this resource
+will be ignored when running setuid/setgid.
 .IP "\fBperl-lib\fR: \fIpath\fR" 4
 .IX Item "perl-lib: path"
 Colon-separated list of additional directories that hold extension
 scripts. When looking for extensions specified by the \f(CW\*(C`perl\*(C'\fR resource,
 @@RXVT_NAME@@ will first look in these directories and then in
-\&\fI@@RXVT_LIBDIR@@/urxvt/perl/\fR.
+\&\fI@@RXVT_LIBDIR@@/urxvt/perl/\fR. Due to security reasons, this resource
+will be ignored when running setuid/setgid.
 .Sp
 See the @@RXVT_NAME@@\fIperl\fR\|(3) manpage.
+.IP "\fBtransient-for\fR: \fIwindowid\fR" 4
+.IX Item "transient-for: windowid"
+Sets the \s-1WM_TRANSIENT_FOR\s0 property to the given window iw.
 .SH "THE SCROLLBAR"
 .IX Header "THE SCROLLBAR"
 Lines of text that scroll off the top of the \fB@@RXVT_NAME@@\fR window
index 665a003a062d0207b8d46b1e9069abfcd53413bb..b3d1bb9fccecac9b493488492579fb5f347a4465 100644 (file)
@@ -1119,6 +1119,10 @@ will be ignored when running setuid/setgid.
 
 See the @@RXVT_NAME@@perl(3) manpage.
 
+=item B<transient-for>: I<windowid>
+
+Sets the WM_TRANSIENT_FOR property to the given window iw.
+
 =back
 
 =head1 THE SCROLLBAR
index f034ab62d7f7a18aba04c78bbb6a12397a02d342..45438d792d0352682ac96bfe713df1aa4146b95e 100644 (file)
@@ -963,16 +963,21 @@ RESOURCES (available also as long-options)
 
     perl-eval: *string*
         Perl code to be evaluated when all extensions have been registered.
-        See the rxvtperl(3) manpage.
+        See the rxvtperl(3) manpage. Due to security reasons, this resource
+        will be ignored when running setuid/setgid.
 
     perl-lib: *path*
         Colon-separated list of additional directories that hold extension
         scripts. When looking for extensions specified by the "perl"
         resource, rxvt will first look in these directories and then in
-        /opt/rxvt/lib/urxvt/perl/.
+        /opt/rxvt/lib/urxvt/perl/. Due to security reasons, this resource
+        will be ignored when running setuid/setgid.
 
         See the rxvtperl(3) manpage.
 
+    transient-for: *windowid*
+        Sets the WM_TRANSIENT_FOR property to the given window iw.
+
 THE SCROLLBAR
     Lines of text that scroll off the top of the rxvt window (resource:
     saveLines) and can be scrolled back using the scrollbar or by
index de4247a99356f84d3f28b9db1b4e899e8629531f..8cd590b5631f8c0bd33aab59382ac0c9a4de604b 100644 (file)
@@ -105,10 +105,17 @@ Rot-13 the selection when activated. Used via keyboard trigger:
 <dt><strong><a name="item_popup">option-popup (enabled by default)</a></strong><br />
 </dt>
 <dd>
-Binds a popup menu to Ctrl-Button3 that lets you toggle (some) options at
+Binds a popup menu to Ctrl-Button2 that lets you toggle (some) options at
 runtime.
 </dd>
 <p></p>
+<dt><strong>selection-popup (enabled by default)</strong><br />
+</dt>
+<dd>
+Binds a popup menu to Ctrl-Button3 that lets you convert the selection
+text into various other formats/action.
+</dd>
+<p></p>
 <dt><strong><a name="item_digital_2dclock">digital-clock</a></strong><br />
 </dt>
 <dd>
@@ -271,12 +278,6 @@ $nrow - 1) represent the lines to be scrolled out). <code>$saved</code> is the t
 number of lines that will be in the scrollback buffer.</p>
 </dd>
 <p></p>
-<dt><strong><a name="item_on_tty_activity__24term__2anyi_2a">on_tty_activity $term *NYI*</a></strong><br />
-</dt>
-<dd>
-Called whenever the <code>program(s)</code> running in the urxvt window send output.
-</dd>
-<p></p>
 <dt><strong><a name="item_on_osc_seq__24term_2c__24string">on_osc_seq $term, $string</a></strong><br />
 </dt>
 <dd>
@@ -850,7 +851,7 @@ that <code>substr</code> and similar functions work on screen cells and not on
 characters.</p>
 </dd>
 <dd>
-<p>The methods <code>$term-&gt;special_encode</code> and <a href="#item_special_decode"><code>$term-&gt;special_decode</code></a>
+<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>
@@ -932,8 +933,7 @@ line.
 Translates a string offset into terminal coordinates again.
 </dd>
 <p></p></dl>
-<dt><strong>($row, $col) = $line-&gt;coord_of ($offset)
-=item $text = $term-&gt;special_encode $string</strong><br />
+<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,
@@ -947,6 +947,46 @@ where one character corresponds to one screen cell. See
 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>
+<dt><strong><a name="item_grab_button">$success = $term-&gt;grab_button ($button, $modifiermask)</a></strong><br />
+</dt>
+<dd>
+Registers a synchronous button grab. See XGrabButton.
+</dd>
+<p></p>
+<dt><strong><a name="item_grab">$success = $term-&gt;grab ($eventtime[, $sync])</a></strong><br />
+</dt>
+<dd>
+Calls XGrabPointer and XGrabKeyboard in asynchronous (default) or
+synchronous (<code>$sync</code> is true). Also remembers the grab timestampe.
+</dd>
+<p></p>
+<dt><strong><a name="item_allow_events_async">$term-&gt;allow_events_async</a></strong><br />
+</dt>
+<dd>
+Calls XAllowEvents with AsyncBoth for the most recent grab.
+</dd>
+<p></p>
+<dt><strong><a name="item_allow_events_sync">$term-&gt;allow_events_sync</a></strong><br />
+</dt>
+<dd>
+Calls XAllowEvents with SyncBoth for the most recent grab.
+</dd>
+<p></p>
+<dt><strong><a name="item_allow_events_replay">$term-&gt;allow_events_replay</a></strong><br />
+</dt>
+<dd>
+Calls XAllowEvents with both ReplayPointer and ReplayKeyboard for the most
+recent grab.
+</dd>
+<p></p>
+<dt><strong><a name="item_ungrab">$term-&gt;ungrab</a></strong><br />
+</dt>
+<dd>
+Calls XUngrab for the most recent grab. Is called automatically on
+evaluation errors, as it is better to lose the grab in the error case as
+the session.
+</dd>
 <p></p></dl>
 <p>
 </p>
@@ -1083,11 +1123,11 @@ Stop watching for events on the given filehandle.
 <p>This variable controls the verbosity level of the perl extension. Higher
 numbers indicate more verbose output.</p>
 <dl>
-<dt><strong><a name="item__3d0__2d_only_fatal_messages">=0 - only fatal messages</a></strong><br />
+<dt><strong><a name="item__3d_3d_0__2d_fatal_messages">== 0 - fatal messages</a></strong><br />
 </dt>
-<dt><strong><a name="item__3d3__2d_script_loading_and_management">=3 - script loading and management</a></strong><br />
+<dt><strong><a name="item__3e_3d_3__2d_script_loading_and_management">&gt;= 3 - script loading and management</a></strong><br />
 </dt>
-<dt><strong><a name="item__3d10__2d_all_events_received">=10 - all events received</a></strong><br />
+<dt><strong><a name="item__3e_3d10__2d_all_events_received">&gt;=10 - all events received</a></strong><br />
 </dt>
 </dl>
 <p>
index ff55a6521e9b8de02f679cea72dbd64635971b37..4feb99a77174e111b648284d64626900227d71c3 100644 (file)
 .\" ========================================================================
 .\"
 .IX Title "rxvt 3"
-.TH rxvt 3 "2006-01-08" "6.3" "RXVT-UNICODE"
+.TH rxvt 3 "2006-01-09" "6.3" "RXVT-UNICODE"
 .SH "NAME"
 @@RXVT_NAME@@perl \- rxvt\-unicode's embedded perl interpreter
 .SH "SYNOPSIS"
@@ -193,8 +193,12 @@ Rot\-13 the selection when activated. Used via keyboard trigger:
 .RE
 .IP "option-popup (enabled by default)" 4
 .IX Item "option-popup (enabled by default)"
-Binds a popup menu to Ctrl\-Button3 that lets you toggle (some) options at
+Binds a popup menu to Ctrl\-Button2 that lets you toggle (some) options at
 runtime.
+.IP "selection-popup (enabled by default)" 4
+.IX Item "selection-popup (enabled by default)"
+Binds a popup menu to Ctrl\-Button3 that lets you convert the selection
+text into various other formats/action.
 .IP "digital-clock" 4
 .IX Item "digital-clock"
 Displays a digital clock using the built-in overlay.
@@ -317,10 +321,6 @@ than the scroll back buffer or the terminal.
 It is called before lines are scrolled out (so rows 0 .. min ($lines \- 1,
 \&\f(CW$nrow\fR \- 1) represent the lines to be scrolled out). \f(CW$saved\fR is the total
 number of lines that will be in the scrollback buffer.
-.ie n .IP "on_tty_activity $term *NYI*" 4
-.el .IP "on_tty_activity \f(CW$term\fR *NYI*" 4
-.IX Item "on_tty_activity $term *NYI*"
-Called whenever the program(s) running in the urxvt window send output.
 .ie n .IP "on_osc_seq $term\fR, \f(CW$string" 4
 .el .IP "on_osc_seq \f(CW$term\fR, \f(CW$string\fR" 4
 .IX Item "on_osc_seq $term, $string"
@@ -862,9 +862,9 @@ Translates a string offset into terminal coordinates again.
 .RE
 .RS 4
 .RE
-.ie n .IP "($row, $col\fR) = \f(CW$line\fR\->coord_of ($offset) =item \f(CW$text\fR = \f(CW$term\fR\->special_encode \f(CW$string" 4
-.el .IP "($row, \f(CW$col\fR) = \f(CW$line\fR\->coord_of ($offset) =item \f(CW$text\fR = \f(CW$term\fR\->special_encode \f(CW$string\fR" 4
-.IX Item "($row, $col) = $line->coord_of ($offset) =item $text = $term->special_encode $string"
+.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.
@@ -873,6 +873,30 @@ where one character corresponds to one screen cell. See
 .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.
+.ie n .IP "$success = $term\fR\->grab_button ($button, \f(CW$modifiermask)" 4
+.el .IP "$success = \f(CW$term\fR\->grab_button ($button, \f(CW$modifiermask\fR)" 4
+.IX Item "$success = $term->grab_button ($button, $modifiermask)"
+Registers a synchronous button grab. See XGrabButton.
+.ie n .IP "$success = $term\fR\->grab ($eventtime[, \f(CW$sync])" 4
+.el .IP "$success = \f(CW$term\fR\->grab ($eventtime[, \f(CW$sync\fR])" 4
+.IX Item "$success = $term->grab ($eventtime[, $sync])"
+Calls XGrabPointer and XGrabKeyboard in asynchronous (default) or
+synchronous (\f(CW$sync\fR is true). Also remembers the grab timestampe.
+.IP "$term\->allow_events_async" 4
+.IX Item "$term->allow_events_async"
+Calls XAllowEvents with AsyncBoth for the most recent grab.
+.IP "$term\->allow_events_sync" 4
+.IX Item "$term->allow_events_sync"
+Calls XAllowEvents with SyncBoth for the most recent grab.
+.IP "$term\->allow_events_replay" 4
+.IX Item "$term->allow_events_replay"
+Calls XAllowEvents with both ReplayPointer and ReplayKeyboard for the most
+recent grab.
+.IP "$term\->ungrab" 4
+.IX Item "$term->ungrab"
+Calls XUngrab for the most recent grab. Is called automatically on
+evaluation errors, as it is better to lose the grab in the error case as
+the session.
 .ie n .Sh "The ""urxvt::popup"" Class"
 .el .Sh "The \f(CWurxvt::popup\fP Class"
 .IX Subsection "The urxvt::popup Class"
@@ -981,13 +1005,13 @@ Stop watching for events on the given filehandle.
 .IX Subsection "URXVT_PERL_VERBOSITY"
 This variable controls the verbosity level of the perl extension. Higher
 numbers indicate more verbose output.
-.IP "=0 \- only fatal messages" 4
-.IX Item "=0 - only fatal messages"
+.IP "== 0 \- fatal messages" 4
+.IX Item "== 0 - fatal messages"
 .PD 0
-.IP "=3 \- script loading and management" 4
-.IX Item "=3 - script loading and management"
-.IP "=10 \- all events received" 4
-.IX Item "=10 - all events received"
+.IP ">= 3 \- script loading and management" 4
+.IX Item ">= 3 - script loading and management"
+.IP ">=10 \- all events received" 4
+.IX Item ">=10 - all events received"
 .RE
 .RS 4
 .PD
index 342d6401654e893ea409fad841bbb50edd42360e..83ee95c27349c887ba8d1862e16912b66b3fca12 100644 (file)
@@ -45,9 +45,13 @@ DESCRIPTION
                URxvt.keysym.C-M-r: perl:selection:rot13
 
     option-popup (enabled by default)
-        Binds a popup menu to Ctrl-Button3 that lets you toggle (some)
+        Binds a popup menu to Ctrl-Button2 that lets you toggle (some)
         options at runtime.
 
+    selection-popup (enabled by default)
+        Binds a popup menu to Ctrl-Button3 that lets you convert the
+        selection text into various other formats/action.
+
     digital-clock
         Displays a digital clock using the built-in overlay.
 
@@ -168,10 +172,6 @@ DESCRIPTION
         - 1, $nrow - 1) represent the lines to be scrolled out). $saved is
         the total number of lines that will be in the scrollback buffer.
 
-    on_tty_activity $term *NYI*
-        Called whenever the program(s) running in the urxvt window send
-        output.
-
     on_osc_seq $term, $string
         Called whenever the ESC ] 777 ; string ST command sequence (OSC =
         operating system command) is processed. Cursor position and other
@@ -591,8 +591,7 @@ DESCRIPTION
         ($row, $col) = $line->coord_of ($offset)
             Translates a string offset into terminal coordinates again.
 
-    ($row, $col) = $line->coord_of ($offset) =item $text =
-    $term->special_encode $string
+    $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.
@@ -601,6 +600,28 @@ DESCRIPTION
         Converts rxvt-unicodes text reprsentation into a perl string. See
         "$term->ROW_t" for details.
 
+    $success = $term->grab_button ($button, $modifiermask)
+        Registers a synchronous button grab. See XGrabButton.
+
+    $success = $term->grab ($eventtime[, $sync])
+        Calls XGrabPointer and XGrabKeyboard in asynchronous (default) or
+        synchronous ($sync is true). Also remembers the grab timestampe.
+
+    $term->allow_events_async
+        Calls XAllowEvents with AsyncBoth for the most recent grab.
+
+    $term->allow_events_sync
+        Calls XAllowEvents with SyncBoth for the most recent grab.
+
+    $term->allow_events_replay
+        Calls XAllowEvents with both ReplayPointer and ReplayKeyboard for
+        the most recent grab.
+
+    $term->ungrab
+        Calls XUngrab for the most recent grab. Is called automatically on
+        evaluation errors, as it is better to lose the grab in the error
+        case as the session.
+
   The "urxvt::popup" Class
   The "urxvt::timer" Class
         This class implements timer watchers/events. Time is represented as
@@ -683,9 +704,9 @@ ENVIRONMENT
         This variable controls the verbosity level of the perl extension.
         Higher numbers indicate more verbose output.
 
-        =0 - only fatal messages
-        =3 - script loading and management
-        =10 - all events received
+        == 0 - fatal messages
+        >= 3 - script loading and management
+        >=10 - all events received
 
 AUTHOR
          Marc Lehmann <pcg@goof.com>
index 4e9e05dc0c9f6a956bc2f6f47ccc3834c8e5c38a..52d8d8c055bf224318708b1d7ad5e68d1bcff36f 100644 (file)
@@ -1238,7 +1238,7 @@ rxvt_term::option (U32 optval, int set = -1)
         RETVAL
 
 void
-rxvt_term::cur (...)
+rxvt_term::screen_cur (...)
        PROTOTYPE: $;$$
         ALIAS:
            screen_cur     = 0
index 6b908ec72c5fab25b8f8ffc3aeee5d47070fe65a..9a31f0ad1cd82296f71245c7e8f8b58c2d4cfaaf 100644 (file)
@@ -207,10 +207,6 @@ It is called before lines are scrolled out (so rows 0 .. min ($lines - 1,
 $nrow - 1) represent the lines to be scrolled out). C<$saved> is the total
 number of lines that will be in the scrollback buffer.
 
-=item on_tty_activity $term *NYI*
-
-Called whenever the program(s) running in the urxvt window send output.
-
 =item on_osc_seq $term, $string
 
 Called whenever the B<ESC ] 777 ; string ST> command sequence (OSC =
@@ -1102,7 +1098,6 @@ sub urxvt::line::coord_of {
    )
 }
 
-=item ($row, $col) = $line->coord_of ($offset)
 =item $text = $term->special_encode $string
 
 Converts a perl string into the special encoding used by rxvt-unicode,
@@ -1114,6 +1109,34 @@ C<< $term->ROW_t >> for details.
 Converts rxvt-unicodes text reprsentation into a perl string. See
 C<< $term->ROW_t >> for details.
 
+=item $success = $term->grab_button ($button, $modifiermask)
+
+Registers a synchronous button grab. See XGrabButton.
+
+=item $success = $term->grab ($eventtime[, $sync])
+
+Calls XGrabPointer and XGrabKeyboard in asynchronous (default) or
+synchronous (C<$sync> is true). Also remembers the grab timestampe.
+
+=item $term->allow_events_async
+
+Calls XAllowEvents with AsyncBoth for the most recent grab.
+
+=item $term->allow_events_sync
+
+Calls XAllowEvents with SyncBoth for the most recent grab.
+
+=item $term->allow_events_replay
+
+Calls XAllowEvents with both ReplayPointer and ReplayKeyboard for the most
+recent grab.
+
+=item $term->ungrab
+
+Calls XUngrab for the most recent grab. Is called automatically on
+evaluation errors, as it is better to lose the grab in the error case as
+the session.
+
 =back
 
 =cut