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.18 by root, Tue Jan 3 02:01:27 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
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).
198 210
211=back
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.
203 217
218Return the rendition mask used for overlays by default. 232Return the rendition mask used for overlays by default.
219 233
220=item $rendbit = urxvt::RS_Bold, RS_Italic, RS_Blink, RS_RVid, RS_Uline 234=item $rendbit = urxvt::RS_Bold, RS_Italic, RS_Blink, RS_RVid, RS_Uline
221 235
222Return the bit that enabled bold, italic, blink, reverse-video and 236Return the bit that enabled bold, italic, blink, reverse-video and
223underline, respectively. To enable such a style, just or it onto the 237underline, respectively. To enable such a style, just logically OR it into
224bitset. 238the bitset.
225 239
226=item $foreground = urxvt::GET_BASEFG $rend 240=item $foreground = urxvt::GET_BASEFG $rend
227 241
228=item $background = urxvt::GET_BASEBG $rend 242=item $background = urxvt::GET_BASEBG $rend
229 243
233 247
234=item $rend = urxvt::SET_BGCOLOR ($rend, $new_colour) 248=item $rend = urxvt::SET_BGCOLOR ($rend, $new_colour)
235 249
236Replace the foreground/background colour in the rendition mask with the 250Replace the foreground/background colour in the rendition mask with the
237specified one. 251specified one.
252
253=item $value = urxvt::GET_CUSTOM ($rend)
254
255Return the "custom" value: Every rendition has 5 bits for use by
256extensions. They can be set and changed as you like and are initially
257zero.
258
259=item $rend = urxvt::SET_CUSTOM ($rend, $new_value)
260
261Change the custom value.
238 262
239=back 263=back
240 264
241=cut 265=cut
242 266
348 return 1 if $v->($term, @_); 372 return 1 if $v->($term, @_);
349 } 373 }
350 374
351 0 375 0
352} 376}
353
354=back
355 377
356=head2 The C<urxvt::term> Class 378=head2 The C<urxvt::term> Class
357 379
358=over 4 380=over 4
359 381
415 437
416=item $oldtext = $term->selection ([$newtext]) 438=item $oldtext = $term->selection ([$newtext])
417 439
418Return the current selection text and optionally replace it by C<$newtext>. 440Return the current selection text and optionally replace it by C<$newtext>.
419 441
420=item $term->scr_overlay ($x, $y, $text) 442#=item $term->overlay ($x, $y, $text)
421 443#
422Create 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.
423 445#
424=cut 446#=cut
425 447
426sub urxvt::term::scr_overlay { 448sub urxvt::term::scr_overlay {
449die;
427 my ($self, $x, $y, $text) = @_; 450 my ($self, $x, $y, $text) = @_;
428 451
429 my @lines = split /\n/, $text; 452 my @lines = split /\n/, $text;
430 453
431 my $w = 0; 454 my $w = 0;
435 458
436 $self->scr_overlay_new ($x, $y, $w, scalar @lines); 459 $self->scr_overlay_new ($x, $y, $w, scalar @lines);
437 $self->scr_overlay_set (0, $_, $lines[$_]) for 0.. $#lines; 460 $self->scr_overlay_set (0, $_, $lines[$_]) for 0.. $#lines;
438} 461}
439 462
440=item $term->scr_overlay_new ($x, $y, $width, $height) 463=item $term->overlay ($x, $y, $width, $height[, $rstyle[, $border]])
441 464
442Create a new (empty) overlay at the given position with the given 465Create a new (empty) overlay at the given position with the given
443width/height. A border will be put around the box. If either C<$x> or 466width/height. C<$rstyle> defines the initial rendition style
444C<$y> is negative, then this is counted from the right/bottom side, 467(default: C<OVERLAY_RSTYLE>).
445respectively.
446 468
447=item $term->scr_overlay_off 469If C<$border> is C<2> (default), then a decorative border will be put
470around the box.
448 471
449Switch the overlay off again. 472If either C<$x> or C<$y> is negative, then this is counted from the
473right/bottom side, respectively.
450 474
451=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.
452 477
453Put a single character (specified numerically) at the given overlay 478The methods currently supported on C<urxvt::overlay> objects are:
454position.
455 479
480=over 4
481
456=item $term->scr_overlay_set ($x, $y, $text) 482=item $overlay->set ($x, $y, $text, $rend)
457 483
458Write 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
459 497
460=item $cellwidth = $term->strwidth $string 498=item $cellwidth = $term->strwidth $string
461 499
462Returns the number of screen-cells this string would need. Correctly 500Returns the number of screen-cells this string would need. Correctly
463accounts for wide and combining characters. 501accounts for wide and combining characters.
558=head2 The C<urxvt::timer> Class 596=head2 The C<urxvt::timer> Class
559 597
560This class implements timer watchers/events. Time is represented as a 598This class implements timer watchers/events. Time is represented as a
561fractional number of seconds since the epoch. Example: 599fractional number of seconds since the epoch. Example:
562 600
563 # create a digital clock display in upper right corner 601 $term->{overlay} = $term->overlay (-1, 0, 8, 1, urxvt::OVERLAY_RSTYLE, 0);
564 $term->{timer} = urxvt::timer 602 $term->{timer} = urxvt::timer
565 ->new 603 ->new
566 ->start (urxvt::NOW) 604 ->interval (1)
567 ->cb (sub { 605 ->cb (sub {
568 my ($timer) = @_;
569 my $time = $timer->at;
570 $timer->start ($time + 1);
571 $self->scr_overlay (-1, 0, 606 $term->{overlay}->set (0, 0,
572 POSIX::strftime "%H:%M:%S", localtime $time); 607 sprintf "%2d:%02d:%02d", (localtime urxvt::NOW)[2,1,0]);
573 }); 608 });
574 609
575=over 4 610=over 4
576 611
577=item $timer = new urxvt::timer 612=item $timer = new urxvt::timer
578 613
579Create a new timer object in stopped state. 614Create a new timer object in started state. It is scheduled to fire
615immediately.
580 616
581=item $timer = $timer->cb (sub { my ($timer) = @_; ... }) 617=item $timer = $timer->cb (sub { my ($timer) = @_; ... })
582 618
583Set the callback to be called when the timer triggers. 619Set the callback to be called when the timer triggers.
584 620
587Return the time this watcher will fire next. 623Return the time this watcher will fire next.
588 624
589=item $timer = $timer->set ($tstamp) 625=item $timer = $timer->set ($tstamp)
590 626
591Set 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.
592 634
593=item $timer = $timer->start 635=item $timer = $timer->start
594 636
595Start the timer. 637Start the timer.
596 638

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines