… | |
… | |
3 | # this extension implements scrollback buffer search |
3 | # this extension implements scrollback buffer search |
4 | |
4 | |
5 | sub on_init { |
5 | sub on_init { |
6 | my ($self) = @_; |
6 | my ($self) = @_; |
7 | |
7 | |
8 | my $hotkey = $self->{argv}[0] || "M-s"; |
8 | my $hotkey = $self->{argv}[0] |
|
|
9 | || $self->x_resource ("searchable-scrollback") |
|
|
10 | || "M-s"; |
9 | |
11 | |
10 | $self->parse_keysym ($hotkey, "perl:searchable-scrollback:start") |
12 | $self->parse_keysym ($hotkey, "perl:searchable-scrollback:start") |
11 | or warn "unable to register '$hotkey' as scrollback search start hotkey\n"; |
13 | or warn "unable to register '$hotkey' as scrollback search start hotkey\n"; |
12 | |
14 | |
13 | () |
15 | () |
… | |
… | |
44 | refresh_begin => \&refresh, |
46 | refresh_begin => \&refresh, |
45 | refresh_end => \&refresh, |
47 | refresh_end => \&refresh, |
46 | ); |
48 | ); |
47 | |
49 | |
48 | $self->{manpage_overlay} = $self->overlay (0, -2, $self->ncol, 1, urxvt::OVERLAY_RSTYLE, 0); |
50 | $self->{manpage_overlay} = $self->overlay (0, -2, $self->ncol, 1, urxvt::OVERLAY_RSTYLE, 0); |
49 | $self->{manpage_overlay}->set (0, 0, "scrollback search, see man ${urxvt::RXVTNAME}perl"); |
51 | $self->{manpage_overlay}->set (0, 0, "scrollback search, see the ${urxvt::RXVTNAME}perl manpage for details"); |
50 | |
52 | |
51 | $self->idle; |
53 | $self->idle; |
52 | } |
54 | } |
53 | |
55 | |
54 | sub leave { |
56 | sub leave { |
… | |
… | |
131 | return; |
133 | return; |
132 | } |
134 | } |
133 | |
135 | |
134 | } else { |
136 | } else { |
135 | if ($keysym == 0xff0d || $keysym == 0xff8d) { |
137 | if ($keysym == 0xff0d || $keysym == 0xff8d) { |
136 | # OK |
138 | # TODO: set selection |
137 | $self->leave; |
139 | $self->leave; |
138 | } elsif ($keysym == 0xff1b) { |
140 | } elsif ($keysym == 0xff1b) { |
139 | $self->view_start ($self->{view_start}); |
141 | $self->view_start ($self->{view_start}); |
140 | $self->leave; |
142 | $self->leave; |
141 | } elsif ($keysym == 0xff52) { |
143 | } elsif ($keysym == 0xff52) { |