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.19 by root, Tue Jan 3 02:42:17 2006 UTC vs.
Revision 1.22 by root, Tue Jan 3 19:10:54 2006 UTC

39 39
40=over 4 40=over 4
41 41
42=item selection 42=item selection
43 43
44Miscellaneous selection modifications. 44Intelligent selection. This etxension tries to be more intelligent when the user
45extends selections (double-click).
46
47It also offers the following bindable event:
45 48
46=over 4 49=over 4
47 50
48=item rot13 51=item rot13
49 52
52 URxvt.keysym.C-M-r: perl:selection:rot13 55 URxvt.keysym.C-M-r: perl:selection:rot13
53 56
54=back 57=back
55 58
56=item digital-clock 59=item digital-clock
60
61Displays a digital clock using the built-in overlay.
62
63=item example-refresh-hooks
57 64
58Displays a very simple digital clock in the upper right corner of the 65Displays a very simple digital clock in the upper right corner of the
59window. Illustrates overwriting the refresh callbacks to create your own 66window. Illustrates overwriting the refresh callbacks to create your own
60overlays or changes. 67overlays or changes.
61
62=item simple-overlay-clock
63
64Displays a digital clock using the built-in overlay (colourful, useless).
65 68
66=back 69=back
67 70
68=head2 General API Considerations 71=head2 General API Considerations
69 72
122requested from the server. The selection text can be queried and changed 125requested from the server. The selection text can be queried and changed
123by calling C<< $term->selection >>. 126by calling C<< $term->selection >>.
124 127
125Returning a true value aborts selection grabbing. It will still be hilighted. 128Returning a true value aborts selection grabbing. It will still be hilighted.
126 129
130=item on_sel_extend $term
131
132Called whenever the user tries to extend the selection (e.g. with a double
133click) and is either supposed to return false (normal operation), or
134should extend the selection itelf and return true to suppress the built-in
135processing.
136
137See the F<selection> example extension.
138
127=item on_focus_in $term 139=item on_focus_in $term
128 140
129Called whenever the window gets the keyboard focus, before urxvt does 141Called whenever the window gets the keyboard focus, before urxvt does
130focus in processing. 142focus in processing.
131 143
193correct place, e.g. on stderr of the connecting urxvtc client. 205correct place, e.g. on stderr of the connecting urxvtc client.
194 206
195=item $time = urxvt::NOW 207=item $time = urxvt::NOW
196 208
197Returns the "current time" (as per the event loop). 209Returns the "current time" (as per the event loop).
210
211=back
198 212
199=head2 RENDITION 213=head2 RENDITION
200 214
201Rendition bitsets contain information about colour, font, font styles and 215Rendition bitsets contain information about colour, font, font styles and
202similar information for each screen cell. 216similar information for each screen cell.
358 return 1 if $v->($term, @_); 372 return 1 if $v->($term, @_);
359 } 373 }
360 374
361 0 375 0
362} 376}
363
364=back
365 377
366=head2 The C<urxvt::term> Class 378=head2 The C<urxvt::term> Class
367 379
368=over 4 380=over 4
369 381
425 437
426=item $oldtext = $term->selection ([$newtext]) 438=item $oldtext = $term->selection ([$newtext])
427 439
428Return the current selection text and optionally replace it by C<$newtext>. 440Return the current selection text and optionally replace it by C<$newtext>.
429 441
430=item $term->scr_overlay ($x, $y, $text) 442#=item $term->overlay ($x, $y, $text)
431 443#
432Create a simple multi-line overlay box. See the next method for details. 444#Create a simple multi-line overlay box. See the next method for details.
433 445#
434=cut 446#=cut
435 447
436sub urxvt::term::scr_overlay { 448sub urxvt::term::scr_overlay {
449die;
437 my ($self, $x, $y, $text) = @_; 450 my ($self, $x, $y, $text) = @_;
438 451
439 my @lines = split /\n/, $text; 452 my @lines = split /\n/, $text;
440 453
441 my $w = 0; 454 my $w = 0;
445 458
446 $self->scr_overlay_new ($x, $y, $w, scalar @lines); 459 $self->scr_overlay_new ($x, $y, $w, scalar @lines);
447 $self->scr_overlay_set (0, $_, $lines[$_]) for 0.. $#lines; 460 $self->scr_overlay_set (0, $_, $lines[$_]) for 0.. $#lines;
448} 461}
449 462
450=item $term->scr_overlay_new ($x, $y, $width, $height) 463=item $term->overlay ($x, $y, $width, $height[, $rstyle[, $border]])
451 464
452Create a new (empty) overlay at the given position with the given 465Create a new (empty) overlay at the given position with the given
453width/height. A border will be put around the box. If either C<$x> or 466width/height. C<$rstyle> defines the initial rendition style
454C<$y> is negative, then this is counted from the right/bottom side, 467(default: C<OVERLAY_RSTYLE>).
455respectively.
456 468
457=item $term->scr_overlay_off 469If C<$border> is C<2> (default), then a decorative border will be put
470around the box.
458 471
459Switch the overlay off again. 472If either C<$x> or C<$y> is negative, then this is counted from the
473right/bottom side, respectively.
460 474
461=item $term->scr_overlay_set_char ($x, $y, $char, $rend = OVERLAY_RSTYLE) 475This method returns an urxvt::overlay object. The overlay will be visible
476as long as the perl object is referenced.
462 477
463Put a single character (specified numerically) at the given overlay 478The methods currently supported on C<urxvt::overlay> objects are:
464position.
465 479
480=over 4
481
466=item $term->scr_overlay_set ($x, $y, $text) 482=item $overlay->set ($x, $y, $text, $rend)
467 483
468Write a string at the given position into the overlay. 484Similar to C<< $term->ROW_t >> and C<< $term->ROW_r >> in that it puts
485text in rxvt-unicode's special encoding and an array of rendition values
486at a specific position inside the overlay.
487
488=item $overlay->hide
489
490If visible, hide the overlay, but do not destroy it.
491
492=item $overlay->show
493
494If hidden, display the overlay again.
495
496=back
469 497
470=item $cellwidth = $term->strwidth $string 498=item $cellwidth = $term->strwidth $string
471 499
472Returns the number of screen-cells this string would need. Correctly 500Returns the number of screen-cells this string would need. Correctly
473accounts for wide and combining characters. 501accounts for wide and combining characters.
568=head2 The C<urxvt::timer> Class 596=head2 The C<urxvt::timer> Class
569 597
570This class implements timer watchers/events. Time is represented as a 598This class implements timer watchers/events. Time is represented as a
571fractional number of seconds since the epoch. Example: 599fractional number of seconds since the epoch. Example:
572 600
573 # create a digital clock display in upper right corner 601 $term->{overlay} = $term->overlay (-1, 0, 8, 1, urxvt::OVERLAY_RSTYLE, 0);
574 $term->{timer} = urxvt::timer 602 $term->{timer} = urxvt::timer
575 ->new 603 ->new
576 ->start (urxvt::NOW) 604 ->interval (1)
577 ->cb (sub { 605 ->cb (sub {
578 my ($timer) = @_;
579 my $time = $timer->at;
580 $timer->start ($time + 1);
581 $self->scr_overlay (-1, 0, 606 $term->{overlay}->set (0, 0,
582 POSIX::strftime "%H:%M:%S", localtime $time); 607 sprintf "%2d:%02d:%02d", (localtime urxvt::NOW)[2,1,0]);
583 }); 608 });
584 609
585=over 4 610=over 4
586 611
587=item $timer = new urxvt::timer 612=item $timer = new urxvt::timer
588 613
589Create a new timer object in stopped state. 614Create a new timer object in started state. It is scheduled to fire
615immediately.
590 616
591=item $timer = $timer->cb (sub { my ($timer) = @_; ... }) 617=item $timer = $timer->cb (sub { my ($timer) = @_; ... })
592 618
593Set the callback to be called when the timer triggers. 619Set the callback to be called when the timer triggers.
594 620
597Return the time this watcher will fire next. 623Return the time this watcher will fire next.
598 624
599=item $timer = $timer->set ($tstamp) 625=item $timer = $timer->set ($tstamp)
600 626
601Set the time the event is generated to $tstamp. 627Set the time the event is generated to $tstamp.
628
629=item $timer = $timer->interval ($interval)
630
631Normally (and when C<$interval> is C<0>), the timer will automatically
632stop after it has fired once. If C<$interval> is non-zero, then the timer
633is automatically rescheduled at the given intervals.
602 634
603=item $timer = $timer->start 635=item $timer = $timer->start
604 636
605Start the timer. 637Start the timer.
606 638

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines