--- rxvt-unicode/src/perl/urxvt-popup 2006/01/08 00:48:14 1.10 +++ rxvt-unicode/src/perl/urxvt-popup 2006/01/08 22:58:13 1.12 @@ -10,13 +10,13 @@ my $row = 1; for my $item (@{ $self->{data}{item} }) { - my $rend = "\x1b[30;47m"; + my $rend = "normal"; if ($row == $self->{hover}) { - $rend = $self->{press} ? "\x1b[m" : "\x1b[30;46m"; + $rend = $self->{press} ? "active" : "hover"; } - $cmd .= "$rend\x1b[K"; + $cmd .= "$item->{rend}{$rend}\x1b[K"; $cmd .= $self->locale_encode ($item->{render}->($item)); $cmd .= "\015\012"; @@ -63,7 +63,8 @@ my ($row, $col) = ($event->{row}, $event->{col}); if ($col >= 0 && $col < $self->ncol && $row >= 0 && $row < @{ $self->{data}{item} }) { - $self->{data}{item}[$row]{activate}->($event); + my $item = $self->{data}{item}[$row]; + $item->{activate}->($event, $item); } $self->refresh; @@ -99,7 +100,6 @@ if ($data->{event}) { my $x = int List::Util::max 0, $data->{event}{x_root} - $width * $data->{term}->fwidth * 0.5; my $y = int List::Util::max 0, $data->{event}{y_root} - $data->{term}->fheight * 0.5; - $pos = "+$x+$y"; } @@ -132,7 +132,3 @@ } - - - -