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.36 by root, Fri Jan 6 02:58:02 2006 UTC vs.
Revision 1.43 by root, Sat Jan 7 04:19:43 2006 UTC

62 62
63Displays a digital clock using the built-in overlay. 63Displays a digital clock using the built-in overlay.
64 64
65=item mark-urls 65=item mark-urls
66 66
67Uses per-line filtering (C<on_line_update>) to underline urls. 67Uses per-line display filtering (C<on_line_update>) to underline urls.
68
69=item block-graphics-to-ascii
70
71A not very useful example of filtering all text output to the terminal,
72by replacing all line-drawing characters (U+2500 .. U+259F) by a
73similar-looking ascii character.
68 74
69=item example-refresh-hooks 75=item example-refresh-hooks
70 76
71Displays a very simple digital clock in the upper right corner of the 77Displays a very simple digital clock in the upper right corner of the
72window. Illustrates overwriting the refresh callbacks to create your own 78window. Illustrates overwriting the refresh callbacks to create your own
73overlays or changes. 79overlays or changes.
74
75=item example-filter-input
76
77A not very useful example of filtering all text output to the terminal, by
78underlining all urls that matches a certain regex (i.e. some urls :). It
79is not very useful because urls that are output in multiple steps (e.g.
80when typing them) do not get marked.
81 80
82=back 81=back
83 82
84=head2 General API Considerations 83=head2 General API Considerations
85 84
117 116
118=back 117=back
119 118
120=head2 Hooks 119=head2 Hooks
121 120
122The following subroutines can be declared in loaded scripts, and will be 121The following subroutines can be declared in extension files, and will be
123called whenever the relevant event happens. 122called whenever the relevant event happens.
124 123
125The first argument passed to them is an object private to each terminal 124The first argument passed to them is an object private to each terminal
126and extension package. You can call all C<urxvt::term> methods on it, but 125and extension package. You can call all C<urxvt::term> methods on it, but
127its not a real C<urxvt::term> object. Instead, the real C<urxvt::term> 126its not a real C<urxvt::term> object. Instead, the real C<urxvt::term>
261 260
262Called whenever the user presses a key combination that has a 261Called whenever the user presses a key combination that has a
263C<perl:string> action bound to it (see description of the B<keysym> 262C<perl:string> action bound to it (see description of the B<keysym>
264resource in the @@RXVT_NAME@@(1) manpage). 263resource in the @@RXVT_NAME@@(1) manpage).
265 264
265=item on_key_press $term, $event, $octets
266
267=item on_key_release $term, $event
268
269=item on_button_press $term, $event
270
271=item on_button_release $term, $event
272
273=item on_motion_notify $term, $event
274
275Called whenever the corresponding X event is received for the terminal If
276the hook returns true, then the even will be ignored by rxvt-unicode.
277
278The event is a hash with most values as named by Xlib (see the XEvent
279manpage), with the additional members C<row> and C<col>, which are the row
280and column under the mouse cursor.
281
282C<on_key_press> additionally receives the string rxvt-unicode would
283output, if any, in locale-specific encoding.
284
285subwindow.
286
266=back 287=back
267 288
268=head2 Variables in the C<urxvt> Package 289=head2 Variables in the C<urxvt> Package
269 290
270=over 4 291=over 4
271 292
272=item $urxvt::TERM 293=item $urxvt::TERM
273 294
274The current terminal. Whenever a callback/Hook is bein executed, this 295The current terminal. This variable stores the current C<urxvt::term>
275variable stores the current C<urxvt::term> object. 296object, whenever a callback/hook is executing.
276 297
277=back 298=back
278 299
279=head2 Functions in the C<urxvt> Package 300=head2 Functions in the C<urxvt> Package
280 301
443 my $htype = shift; 464 my $htype = shift;
444 465
445 if ($htype == 0) { # INIT 466 if ($htype == 0) { # INIT
446 my @dirs = ((split /:/, $TERM->resource ("perl_lib")), "$LIBDIR/perl"); 467 my @dirs = ((split /:/, $TERM->resource ("perl_lib")), "$LIBDIR/perl");
447 468
448 for my $ext (map { split /:/, $TERM->resource ("perl_ext_$_") } 1, 2) { 469 for my $ext (map { split /,/, $TERM->resource ("perl_ext_$_") } 1, 2) {
449 my @files = grep -f $_, map "$_/$ext", @dirs; 470 my @files = grep -f $_, map "$_/$ext", @dirs;
450 471
451 if (@files) { 472 if (@files) {
452 register_package script_package $files[0]; 473 register_package script_package $files[0];
453 } else { 474 } else {
641 662
642If hidden, display the overlay again. 663If hidden, display the overlay again.
643 664
644=back 665=back
645 666
646=item $cellwidth = $term->strwidth $string 667=item $cellwidth = $term->strwidth ($string)
647 668
648Returns the number of screen-cells this string would need. Correctly 669Returns the number of screen-cells this string would need. Correctly
649accounts for wide and combining characters. 670accounts for wide and combining characters.
650 671
651=item $octets = $term->locale_encode $string 672=item $octets = $term->locale_encode ($string)
652 673
653Convert the given text string into the corresponding locale encoding. 674Convert the given text string into the corresponding locale encoding.
654 675
655=item $string = $term->locale_decode $octets 676=item $string = $term->locale_decode ($octets)
656 677
657Convert the given locale-encoded octets into a perl string. 678Convert the given locale-encoded octets into a perl string.
658 679
659=item $term->scr_add_lines ($string) 680=item $term->scr_add_lines ($string)
660 681
676=item $term->tt_write ($octets) 697=item $term->tt_write ($octets)
677 698
678Write the octets given in C<$data> to the tty (i.e. as program input). To 699Write the octets given in C<$data> to the tty (i.e. as program input). To
679pass characters instead of octets, you should convert your strings first 700pass characters instead of octets, you should convert your strings first
680to the locale-specific encoding using C<< $term->locale_encode >>. 701to the locale-specific encoding using C<< $term->locale_encode >>.
702
703=item $windowid = $term->parent
704
705Return the window id of the toplevel window.
706
707=item $windowid = $term->vt
708
709Return the window id of the terminal window.
681 710
682=item $window_width = $term->width 711=item $window_width = $term->width
683 712
684=item $window_height = $term->height 713=item $window_height = $term->height
685 714

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines