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.37 by root, Fri Jan 6 03:40:19 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
266=item on_key_press $term, $event 265=item on_key_press $term, $event, $octets
267 266
268=item on_key_release $term, $event 267=item on_key_release $term, $event
269 268
270=item on_button_press $term, $event 269=item on_button_press $term, $event
271 270
272=item on_button_release $term, $event 271=item on_button_release $term, $event
273 272
274=item on_motion_notify $term, $event 273=item on_motion_notify $term, $event
275 274
276Called whenever the corresponding X event is received for the terminal. If 275Called whenever the corresponding X event is received for the terminal If
277the hook returns true, then the even will be ignored by rxvt-unicode. 276the hook returns true, then the even will be ignored by rxvt-unicode.
278 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
279subwindow. 285subwindow.
280 286
281=back 287=back
282 288
283=head2 Variables in the C<urxvt> Package 289=head2 Variables in the C<urxvt> Package
284 290
285=over 4 291=over 4
286 292
287=item $urxvt::TERM 293=item $urxvt::TERM
288 294
289The current terminal. Whenever a callback/Hook is bein executed, this 295The current terminal. This variable stores the current C<urxvt::term>
290variable stores the current C<urxvt::term> object. 296object, whenever a callback/hook is executing.
291 297
292=back 298=back
293 299
294=head2 Functions in the C<urxvt> Package 300=head2 Functions in the C<urxvt> Package
295 301
458 my $htype = shift; 464 my $htype = shift;
459 465
460 if ($htype == 0) { # INIT 466 if ($htype == 0) { # INIT
461 my @dirs = ((split /:/, $TERM->resource ("perl_lib")), "$LIBDIR/perl"); 467 my @dirs = ((split /:/, $TERM->resource ("perl_lib")), "$LIBDIR/perl");
462 468
463 for my $ext (map { split /:/, $TERM->resource ("perl_ext_$_") } 1, 2) { 469 for my $ext (map { split /,/, $TERM->resource ("perl_ext_$_") } 1, 2) {
464 my @files = grep -f $_, map "$_/$ext", @dirs; 470 my @files = grep -f $_, map "$_/$ext", @dirs;
465 471
466 if (@files) { 472 if (@files) {
467 register_package script_package $files[0]; 473 register_package script_package $files[0];
468 } else { 474 } else {
656 662
657If hidden, display the overlay again. 663If hidden, display the overlay again.
658 664
659=back 665=back
660 666
661=item $cellwidth = $term->strwidth $string 667=item $cellwidth = $term->strwidth ($string)
662 668
663Returns the number of screen-cells this string would need. Correctly 669Returns the number of screen-cells this string would need. Correctly
664accounts for wide and combining characters. 670accounts for wide and combining characters.
665 671
666=item $octets = $term->locale_encode $string 672=item $octets = $term->locale_encode ($string)
667 673
668Convert the given text string into the corresponding locale encoding. 674Convert the given text string into the corresponding locale encoding.
669 675
670=item $string = $term->locale_decode $octets 676=item $string = $term->locale_decode ($octets)
671 677
672Convert the given locale-encoded octets into a perl string. 678Convert the given locale-encoded octets into a perl string.
673 679
674=item $term->scr_add_lines ($string) 680=item $term->scr_add_lines ($string)
675 681
691=item $term->tt_write ($octets) 697=item $term->tt_write ($octets)
692 698
693Write 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
694pass characters instead of octets, you should convert your strings first 700pass characters instead of octets, you should convert your strings first
695to 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.
696 710
697=item $window_width = $term->width 711=item $window_width = $term->width
698 712
699=item $window_height = $term->height 713=item $window_height = $term->height
700 714

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines