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.135 by root, Sun Feb 12 05:31:53 2006 UTC vs.
Revision 1.139 by root, Sat Jul 1 19:04:43 2006 UTC

368 368
369=back 369=back
370 370
371=head2 Extension Objects 371=head2 Extension Objects
372 372
373Very perl extension is a perl class. A separate perl object is created 373Every 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 374for 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 375hooks. So extensions can use their C<$self> object without having to think
376about other extensions, with the exception of methods and members that 376about other extensions, with the exception of methods and members that
377begin with an underscore character C<_>: these are reserved for internal 377begin with an underscore character C<_>: these are reserved for internal
378use. 378use.
493 493
494It is called before lines are scrolled out (so rows 0 .. min ($lines - 1, 494It 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 495$nrow - 1) represent the lines to be scrolled out). C<$saved> is the total
496number of lines that will be in the scrollback buffer. 496number of lines that will be in the scrollback buffer.
497 497
498=item on_osc_seq $term, $op, $args
499
500Called on every OSC sequence and can be used to suppress it or modify its
501behaviour. The default should be to return an empty list. A true value
502suppresses execution of the request completely. Make sure you don't get
503confused by recursive invocations when you output an osc sequence within
504this callback.
505
506C<on_osc_seq_perl> should be used for new behaviour.
507
498=item on_osc_seq $term, $string 508=item on_osc_seq_perl $term, $string
499 509
500Called whenever the B<ESC ] 777 ; string ST> command sequence (OSC = 510Called whenever the B<ESC ] 777 ; string ST> command sequence (OSC =
501operating system command) is processed. Cursor position and other state 511operating system command) is processed. Cursor position and other state
502information is up-to-date when this happens. For interoperability, the 512information is up-to-date when this happens. For interoperability, the
503string should start with the extension name and a colon, to distinguish 513string should start with the extension name and a colon, to distinguish
897 907
898 if (my $cb = $TERM->{_hook}[$htype]) { 908 if (my $cb = $TERM->{_hook}[$htype]) {
899 verbose 10, "$HOOKNAME[$htype] (" . (join ", ", $TERM, @_) . ")" 909 verbose 10, "$HOOKNAME[$htype] (" . (join ", ", $TERM, @_) . ")"
900 if $verbosity >= 10; 910 if $verbosity >= 10;
901 911
902 keys %$cb; 912 for my $pkg (keys %$cb) {
903
904 while (my ($pkg, $cb) = each %$cb) {
905 my $retval_ = eval { $cb->($TERM->{_pkg}{$pkg}, @_) }; 913 my $retval_ = eval { $cb->{$pkg}->($TERM->{_pkg}{$pkg}, @_) };
906 $retval ||= $retval_; 914 $retval ||= $retval_;
907 915
908 if ($@) { 916 if ($@) {
909 $TERM->ungrab; # better to lose the grab than the session 917 $TERM->ungrab; # better to lose the grab than the session
910 warn $@; 918 warn $@;
1474=item $env = $term->env 1482=item $env = $term->env
1475 1483
1476Returns a copy of the environment in effect for the terminal as a hashref 1484Returns a copy of the environment in effect for the terminal as a hashref
1477similar to C<\%ENV>. 1485similar to C<\%ENV>.
1478 1486
1487=item @envv = $term->envv
1488
1489Returns the environment as array of strings of the form C<VAR=VALUE>.
1490
1491=item @argv = $term->argv
1492
1493Return the argument vector as this terminal, similar to @ARGV, but
1494includes the program name as first element.
1495
1479=cut 1496=cut
1480 1497
1481sub env { 1498sub env {
1482 if (my $env = $_[0]->_env) {
1483 +{ map /^([^=]+)(?:=(.*))?$/s && ($1 => $2), @$env } 1499 +{ map /^([^=]+)(?:=(.*))?$/s && ($1 => $2), $_[0]->envv }
1484 } else {
1485 +{ %ENV }
1486 }
1487} 1500}
1488 1501
1489=item $modifiermask = $term->ModLevel3Mask 1502=item $modifiermask = $term->ModLevel3Mask
1490 1503
1491=item $modifiermask = $term->ModMetaMask 1504=item $modifiermask = $term->ModMetaMask

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines