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.50 by root, Sun Jan 8 00:11:38 2006 UTC vs.
Revision 1.54 by root, Sun Jan 8 01:59:29 2006 UTC

37 37
38 @@RXVT_NAME@@ -pe <extensionname> 38 @@RXVT_NAME@@ -pe <extensionname>
39 39
40=over 4 40=over 4
41 41
42=item selection 42=item selection (enabled by default)
43 43
44Intelligent selection. This extension tries to be more intelligent when 44Intelligent selection. This extension tries to be more intelligent when
45the user extends selections (double-click). Right now, it tries to select 45the user extends selections (double-click). Right now, it tries to select
46urls and complete shell-quoted arguments, which is very convenient, too, 46urls and complete shell-quoted arguments, which is very convenient, too,
47if your F<ls> supports C<--quoting-style=shell>. 47if your F<ls> supports C<--quoting-style=shell>.
55Rot-13 the selection when activated. Used via keyboard trigger: 55Rot-13 the selection when activated. Used via keyboard trigger:
56 56
57 URxvt.keysym.C-M-r: perl:selection:rot13 57 URxvt.keysym.C-M-r: perl:selection:rot13
58 58
59=back 59=back
60
61=item option-popup (enabled by default)
62
63Binds a popup menu to Ctrl-Button3 that lets you toggle (some) options at
64runtime.
60 65
61=item digital-clock 66=item digital-clock
62 67
63Displays a digital clock using the built-in overlay. 68Displays a digital clock using the built-in overlay.
64 69
485 490
486 my %want_ext; 491 my %want_ext;
487 492
488 for (map { split /,/, $TERM->resource ("perl_ext_$_") } 1, 2) { 493 for (map { split /,/, $TERM->resource ("perl_ext_$_") } 1, 2) {
489 if ($_ eq "default") { 494 if ($_ eq "default") {
490 $want_ext{$_}++ for qw(selection); 495 $want_ext{$_}++ for qw(selection option-popup);
491 } elsif (/-(.*)/) { 496 } elsif (/^-(.*)$/) {
492 delete $want_ext{$1}; 497 delete $want_ext{$1};
493 } else { 498 } else {
494 $want_ext{$_}++; 499 $want_ext{$_}++;
495 } 500 }
496 } 501 }
1025package urxvt::popup; 1030package urxvt::popup;
1026 1031
1027sub add_item { 1032sub add_item {
1028 my ($self, $item) = @_; 1033 my ($self, $item) = @_;
1029 1034
1035 $item->{rend}{normal} = "\x1b[0;30;47m" unless exists $item->{rend}{normal};
1036 $item->{rend}{hover} = "\x1b[0;30;46m" unless exists $item->{rend}{hover};
1037 $item->{rend}{active} = "\x1b[m" unless exists $item->{rend}{active};
1038
1039 $item->{render} ||= sub { $_[0]{text} };
1040
1030 push @{ $self->{item} }, $item; 1041 push @{ $self->{item} }, $item;
1042}
1043
1044sub add_separator {
1045 my ($self, $sep) = @_;
1046
1047 $sep ||= "═";
1048
1049 $self->add_item ({
1050 rend => { normal => "\x1b[0;30;47m", hover => "\x1b[0;30;47m", active => "\x1b[0;30;47m" },
1051 text => "",
1052 render => sub { $sep x $urxvt::TERM->ncol },
1053 activate => sub { },
1054 });
1055}
1056
1057sub add_title {
1058 my ($self, $title) = @_;
1059
1060 $self->add_item ({
1061 rend => { normal => "\x1b[38;5;11;44m", hover => "\x1b[38;5;11;44m", active => "\x1b[38;5;11;44m" },
1062 text => $title,
1063 activate => sub { },
1064 });
1031} 1065}
1032 1066
1033sub add_button { 1067sub add_button {
1034 my ($self, $text, $cb) = @_; 1068 my ($self, $text, $cb) = @_;
1035 1069
1036 $self->add_item ({ type => "button", text => "[ $text ]", activate => $cb, 1070 $self->add_item ({ type => "button", text => "[ $text ]", activate => $cb});
1037 render => sub { $_[0]{text} },
1038 });
1039} 1071}
1040 1072
1041sub add_toggle { 1073sub add_toggle {
1042 my ($self, $text, $cb, $value) = @_; 1074 my ($self, $text, $cb, $value) = @_;
1043 1075
1044 my $item; $item = { 1076 my $item; $item = {
1045 type => "button", 1077 type => "button",
1046 text => " $text", 1078 text => " $text",
1047 value => $value, 1079 value => $value,
1048 render => sub { ($item->{value} ? "" : " ") . $text }, 1080 render => sub { ($item->{value} ? "* " : " ") . $text },
1049 activate => sub { $cb->($item->{value} = !$item->{value}); }, 1081 activate => sub { $cb->($item->{value} = !$item->{value}); },
1050 }; 1082 };
1051 1083
1052 $self->add_item ($item); 1084 $self->add_item ($item);
1053} 1085}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines