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.47 by root, Sat Jan 7 21:22:02 2006 UTC vs.
Revision 1.50 by root, Sun Jan 8 00:11:38 2006 UTC

397 397
398=cut 398=cut
399 399
400package urxvt; 400package urxvt;
401 401
402use utf8;
402use strict; 403use strict;
403use Scalar::Util (); 404use Scalar::Util ();
405use List::Util ();
404 406
405our $TERM; 407our $TERM;
406our @HOOKNAME; 408our @HOOKNAME;
409our %OPTION;
407our $LIBDIR; 410our $LIBDIR;
408 411
409BEGIN { 412BEGIN {
410 urxvt->bootstrap; 413 urxvt->bootstrap;
411 414
477 local $TERM = shift; 480 local $TERM = shift;
478 my $htype = shift; 481 my $htype = shift;
479 482
480 if ($htype == 0) { # INIT 483 if ($htype == 0) { # INIT
481 my @dirs = ((split /:/, $TERM->resource ("perl_lib")), "$LIBDIR/perl"); 484 my @dirs = ((split /:/, $TERM->resource ("perl_lib")), "$LIBDIR/perl");
485
486 my %want_ext;
482 487
483 for my $ext (map { split /,/, $TERM->resource ("perl_ext_$_") } 1, 2) { 488 for (map { split /,/, $TERM->resource ("perl_ext_$_") } 1, 2) {
489 if ($_ eq "default") {
490 $want_ext{$_}++ for qw(selection);
491 } elsif (/-(.*)/) {
492 delete $want_ext{$1};
493 } else {
494 $want_ext{$_}++;
495 }
496 }
497
498 for my $ext (keys %want_ext) {
484 my @files = grep -f $_, map "$_/$ext", @dirs; 499 my @files = grep -f $_, map "$_/$ext", @dirs;
485 500
486 if (@files) { 501 if (@files) {
487 register_package extension_package $files[0]; 502 register_package extension_package $files[0];
488 } else { 503 } else {
562 577
563=item $term->destroy 578=item $term->destroy
564 579
565Destroy the terminal object (close the window, free resources etc.). 580Destroy the terminal object (close the window, free resources etc.).
566 581
582=item $isset = $term->option ($optval[, $set])
583
584Returns true if the option specified by C<$optval> is enabled, and
585optionally change it. All option values are stored by name in the hash
586C<%urxvt::OPTION>. Options not enabled in this binary are not in the hash.
587
588Here is a a likely non-exhaustive list of option names, please see the
589source file F</src/optinc.h> to see the actual list:
590
591 borderLess console cursorBlink cursorUnderline hold iconic insecure
592 intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage
593 pastableTabs pointerBlank reverseVideo scrollBar scrollBar_floating
594 scrollBar_right scrollTtyKeypress scrollTtyOutput scrollWithBuffer
595 secondaryScreen secondaryScroll skipBuiltinGlyphs transparent
596 tripleclickwords utmpInhibit visualBell
597
567=item $value = $term->resource ($name[, $newval]) 598=item $value = $term->resource ($name[, $newval])
568 599
569Returns the current resource value associated with a given name and 600Returns the current resource value associated with a given name and
570optionally sets a new value. Setting values is most useful in the C<init> 601optionally sets a new value. Setting values is most useful in the C<init>
571hook. Unset resources are returned and accepted as C<undef>. 602hook. Unset resources are returned and accepted as C<undef>.
580 611
581Please note that resource strings will currently only be freed when the 612Please note that resource strings will currently only be freed when the
582terminal is destroyed, so changing options frequently will eat memory. 613terminal is destroyed, so changing options frequently will eat memory.
583 614
584Here is a a likely non-exhaustive list of resource names, not all of which 615Here is a a likely non-exhaustive list of resource names, not all of which
585are supported in every build, please see the source to see the actual 616are supported in every build, please see the source file F</src/rsinc.h>
586list: 617to see the actual list:
587 618
588 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont 619 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont
589 borderLess color cursorBlink cursorUnderline cutchars delete_key 620 borderLess color cursorBlink cursorUnderline cutchars delete_key
590 display_name embed ext_bwidth fade font geometry hold iconName 621 display_name embed ext_bwidth fade font geometry hold iconName
591 imFont imLocale inputMethod insecure int_bwidth intensityStyles 622 imFont imLocale inputMethod insecure int_bwidth intensityStyles
1000} 1031}
1001 1032
1002sub add_button { 1033sub add_button {
1003 my ($self, $text, $cb) = @_; 1034 my ($self, $text, $cb) = @_;
1004 1035
1005 $self->add_item ({ type => "button", text => "[ $text ]", activate => $cb }); 1036 $self->add_item ({ type => "button", text => "[ $text ]", activate => $cb,
1037 render => sub { $_[0]{text} },
1038 });
1039}
1040
1041sub add_toggle {
1042 my ($self, $text, $cb, $value) = @_;
1043
1044 my $item; $item = {
1045 type => "button",
1046 text => " $text",
1047 value => $value,
1048 render => sub { ($item->{value} ? "✔" : " ") . $text },
1049 activate => sub { $cb->($item->{value} = !$item->{value}); },
1050 };
1051
1052 $self->add_item ($item);
1006} 1053}
1007 1054
1008sub show { 1055sub show {
1009 my ($self) = @_; 1056 my ($self) = @_;
1010 1057

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines