ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/perl/urxvt-popup
(Generate patch)

Comparing rxvt-unicode/src/perl/urxvt-popup (file contents):
Revision 1.4 by root, Sat Jan 7 21:22:02 2006 UTC vs.
Revision 1.7 by root, Sun Jan 8 00:29:38 2006 UTC

1#! perl 1#! perl
2 2
3# this extension implements popup-menu functionality for urxvt. it works 3# this extension implements popup-menu functionality for urxvt. it works
4# together with the urxvt::popup class. 4# together with the urxvt::popup class.
5
6use List::Util;
7 5
8sub refresh { 6sub refresh {
9 my ($self) = @_; 7 my ($self) = @_;
10 8
11 my $cmd = "\x1b[H"; 9 my $cmd = "\x1b[H";
16 14
17 if ($row == $self->{hover}) { 15 if ($row == $self->{hover}) {
18 $rend = $self->{press} ? "\x1b[m" : "\x1b[30;46m"; 16 $rend = $self->{press} ? "\x1b[m" : "\x1b[30;46m";
19 } 17 }
20 18
21 $cmd .= "$rend\x1b[K" . $self->locale_encode ($item->{text}) . "\015\012"; 19 $cmd .= "$rend\x1b[K";
20 $cmd .= $self->locale_encode ($item->{render}->($item));
21 $cmd .= "\015\012";
22 22
23 $row++; 23 $row++;
24 } 24 }
25 25
26 $self->cmd_parse (substr $cmd, 0, -2); 26 $self->cmd_parse (substr $cmd, 0, -2);
55 $self->destroy; 55 $self->destroy;
56 } 56 }
57 57
58 $self->{press}[$event->{button}] = 0; 58 $self->{press}[$event->{button}] = 0;
59 59
60 if ($event->{button} == 1) {
61 refresh $self; 60 refresh $self;
62 61
63 warn "$event->{row} $event->{col}\n";#d#
64
65 if ($col >= 0 && $col < $self->ncol 62 if ($col >= 0 && $col < $self->ncol
66 && $row >= 0 && $row < @{ $self->{data}{item} }) { 63 && $row >= 0 && $row < @{ $self->{data}{item} }) {
67 $self->{data}{item}[$row]{activate}->($event); 64 $self->{data}{item}[$row]{activate}->($event);
68 print "ok\n";
69 }
70 } 65 }
71 66
72 1 67 1
73} 68}
74 69

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines