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.138 by root, Sat Mar 4 22:36:50 2006 UTC

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