--- /dev/null
+#! perl
+
+sub on_button_press {
+ my ($self, $event) = @_;
+
+ if ($event->{button} == 3 && $event->{state} & urxvt::ControlMask) {
+ my $popup = $self->popup ($event);
+
+ my %unsafe = map +($_ => 1),
+ qw(borderLess console iconic loginShell reverseVideo
+ scrollBar scrollBar_floating scrollBar_right
+ secondaryScreen transparent utmpInhibit);
+
+ for my $name (sort keys %urxvt::OPTION) {
+ next if $unsafe{$name};
+
+ my $optval = $urxvt::OPTION{$name};
+
+ $popup->add_toggle ($name => sub { $self->option ($optval, $_[0]); warn "toggle $optval, $_[0]" },
+ $self->option ($optval));
+ }
+
+ $popup->show;
+
+ return 1;
+ }
+
+ ()
+}
+
$self->{press}[$event->{button}] = 0;
- if ($event->{button} == 1) {
- refresh $self;
-
- warn "$event->{row} $event->{col}\n";#d#
+ refresh $self;
- if ($col >= 0 && $col < $self->ncol
- && $row >= 0 && $row < @{ $self->{data}{item} }) {
- $self->{data}{item}[$row]{activate}->($event);
- print "ok\n";
- }
+ if ($col >= 0 && $col < $self->ncol
+ && $row >= 0 && $row < @{ $self->{data}{item} }) {
+ $self->{data}{item}[$row]{activate}->($event);
}
1