my %unsafe = map +($_ => 1),
qw(borderLess console iconic loginShell reverseVideo
scrollBar scrollBar_floating scrollBar_right
- secondaryScreen transparent utmpInhibit);
+ secondaryScreen transparent utmpInhibit meta8);
for my $name (sort keys %urxvt::OPTION) {
next if $unsafe{$name};
sub on_motion_notify {
my ($self, $event) = @_;
- $self->{hover} = $event->{row} + 1;
+ delete $self->{hover};
+
+ my ($row, $col) = ($event->{row}, $event->{col});
+ if ($col >= 0 && $col < $self->ncol
+ && $row >= 0 && $row < @{ $self->{data}{item} }) {
+ $self->{hover} = $event->{row} + 1;
+ }
$self->refresh;
1
sub on_button_release {
my ($self, $event) = @_;
- my $row = $event->{row};
- my $col = $event->{col};
-
if ($event->{button} == $self->{data}{event}{button}) {
$self->ungrab;
$self->destroy;
$self->{press}[$event->{button}] = 0;
+ 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);