ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/urxvt.pm
(Generate patch)

Comparing rxvt-unicode/src/urxvt.pm (file contents):
Revision 1.134 by root, Sat Feb 11 02:31:13 2006 UTC vs.
Revision 1.141 by root, Mon Jul 3 19:11:41 2006 UTC

153additionally stores the first match in the current line into the primary 153additionally stores the first match in the current line into the primary
154selection. 154selection.
155 155
156=item readline (enabled by default) 156=item readline (enabled by default)
157 157
158A support package that tries to make editing with readline easier. At the 158A support package that tries to make editing with readline easier. At
159moment, it reacts to clicking with the left mouse button by trying to 159the moment, it reacts to clicking shift-left mouse button by trying to
160move the text cursor to this position. It does so by generating as many 160move the text cursor to this position. It does so by generating as many
161cursor-left or cursor-right keypresses as required (the this only works 161cursor-left or cursor-right keypresses as required (the this only works
162for programs that correctly support wide characters). 162for programs that correctly support wide characters).
163 163
164To avoid too many false positives, this is only done when: 164To avoid too many false positives, this is only done when:
255 255
256 @@RXVT_NAME@@ -pt OnTheSpot -pe xim-onthespot 256 @@RXVT_NAME@@ -pt OnTheSpot -pe xim-onthespot
257 257
258=item automove-background 258=item automove-background
259 259
260This is basically a one-line extension that dynamically changes the background pixmap offset 260This is basically a very small extension that dynamically changes the
261to the window position, in effect creating the same effect as pseudo transparency with 261background pixmap offset to the window position, in effect creating the
262a custom pixmap. No scaling is supported in this mode. Exmaple: 262same effect as pseudo transparency with a custom pixmap. No scaling is
263supported in this mode. Exmaple:
263 264
264 @@RXVT_NAME@@ -pixmap background.xpm -pe automove-background 265 @@RXVT_NAME@@ -pixmap background.xpm -pe automove-background
265 266
266=item block-graphics-to-ascii 267=item block-graphics-to-ascii
267 268
268A not very useful example of filtering all text output to the terminal, 269A not very useful example of filtering all text output to the terminal
269by replacing all line-drawing characters (U+2500 .. U+259F) by a 270by replacing all line-drawing characters (U+2500 .. U+259F) by a
270similar-looking ascii character. 271similar-looking ascii character.
271 272
272=item digital-clock 273=item digital-clock
273 274
368 369
369=back 370=back
370 371
371=head2 Extension Objects 372=head2 Extension Objects
372 373
373Very perl extension is a perl class. A separate perl object is created 374Every perl extension is a perl class. A separate perl object is created
374for each terminal and each extension and passed as the first parameter to 375for each terminal and each extension and passed as the first parameter to
375hooks. So extensions can use their C<$self> object without having to think 376hooks. So extensions can use their C<$self> object without having to think
376about other extensions, with the exception of methods and members that 377about other extensions, with the exception of methods and members that
377begin with an underscore character C<_>: these are reserved for internal 378begin with an underscore character C<_>: these are reserved for internal
378use. 379use.
493 494
494It is called before lines are scrolled out (so rows 0 .. min ($lines - 1, 495It is called before lines are scrolled out (so rows 0 .. min ($lines - 1,
495$nrow - 1) represent the lines to be scrolled out). C<$saved> is the total 496$nrow - 1) represent the lines to be scrolled out). C<$saved> is the total
496number of lines that will be in the scrollback buffer. 497number of lines that will be in the scrollback buffer.
497 498
499=item on_osc_seq $term, $op, $args
500
501Called on every OSC sequence and can be used to suppress it or modify its
502behaviour. The default should be to return an empty list. A true value
503suppresses execution of the request completely. Make sure you don't get
504confused by recursive invocations when you output an osc sequence within
505this callback.
506
507C<on_osc_seq_perl> should be used for new behaviour.
508
498=item on_osc_seq $term, $string 509=item on_osc_seq_perl $term, $string
499 510
500Called whenever the B<ESC ] 777 ; string ST> command sequence (OSC = 511Called whenever the B<ESC ] 777 ; string ST> command sequence (OSC =
501operating system command) is processed. Cursor position and other state 512operating system command) is processed. Cursor position and other state
502information is up-to-date when this happens. For interoperability, the 513information is up-to-date when this happens. For interoperability, the
503string should start with the extension name and a colon, to distinguish 514string should start with the extension name and a colon, to distinguish
897 908
898 if (my $cb = $TERM->{_hook}[$htype]) { 909 if (my $cb = $TERM->{_hook}[$htype]) {
899 verbose 10, "$HOOKNAME[$htype] (" . (join ", ", $TERM, @_) . ")" 910 verbose 10, "$HOOKNAME[$htype] (" . (join ", ", $TERM, @_) . ")"
900 if $verbosity >= 10; 911 if $verbosity >= 10;
901 912
902 keys %$cb; 913 for my $pkg (keys %$cb) {
903
904 while (my ($pkg, $cb) = each %$cb) {
905 my $retval_ = eval { $cb->($TERM->{_pkg}{$pkg}, @_) }; 914 my $retval_ = eval { $cb->{$pkg}->($TERM->{_pkg}{$pkg}, @_) };
906 $retval ||= $retval_; 915 $retval ||= $retval_;
907 916
908 if ($@) { 917 if ($@) {
909 $TERM->ungrab; # better to lose the grab than the session 918 $TERM->ungrab; # better to lose the grab than the session
910 warn $@; 919 warn $@;
1474=item $env = $term->env 1483=item $env = $term->env
1475 1484
1476Returns a copy of the environment in effect for the terminal as a hashref 1485Returns a copy of the environment in effect for the terminal as a hashref
1477similar to C<\%ENV>. 1486similar to C<\%ENV>.
1478 1487
1488=item @envv = $term->envv
1489
1490Returns the environment as array of strings of the form C<VAR=VALUE>.
1491
1492=item @argv = $term->argv
1493
1494Return the argument vector as this terminal, similar to @ARGV, but
1495includes the program name as first element.
1496
1479=cut 1497=cut
1480 1498
1481sub env { 1499sub env {
1482 if (my $env = $_[0]->_env) {
1483 +{ map /^([^=]+)(?:=(.*))?$/s && ($1 => $2), @$env } 1500 +{ map /^([^=]+)(?:=(.*))?$/s && ($1 => $2), $_[0]->envv }
1484 } else {
1485 +{ %ENV }
1486 }
1487} 1501}
1488 1502
1489=item $modifiermask = $term->ModLevel3Mask 1503=item $modifiermask = $term->ModLevel3Mask
1490 1504
1491=item $modifiermask = $term->ModMetaMask 1505=item $modifiermask = $term->ModMetaMask

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines