diff options
author | Tiago Cunha <tcunha@gmx.com> | 2010-02-18 12:35:16 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2010-02-18 12:35:16 +0000 |
commit | 66c38d8c5dbbfaff43ee6da666c4ee0de115bf07 (patch) | |
tree | d618486b6adf23082037ab68b4830372fbe4baa5 /window-copy.c | |
parent | 736764b5607e94823f3f8c5e05f582cab15b598c (diff) | |
download | rtmux-66c38d8c5dbbfaff43ee6da666c4ee0de115bf07.tar.gz rtmux-66c38d8c5dbbfaff43ee6da666c4ee0de115bf07.tar.bz2 rtmux-66c38d8c5dbbfaff43ee6da666c4ee0de115bf07.zip |
Sync OpenBSD patchset 644:
Add "N" key to search the opposite way from the last search (reverse of "n"),
from Micah Cowan.
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/window-copy.c b/window-copy.c index d7b862b0..ac370490 100644 --- a/window-copy.c +++ b/window-copy.c @@ -1,4 +1,4 @@ -/* $Id: window-copy.c,v 1.101 2010-02-08 18:13:17 tcunha Exp $ */ +/* $Id: window-copy.c,v 1.102 2010-02-18 12:35:16 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -224,6 +224,7 @@ window_copy_key(struct window_pane *wp, struct client *c, int key) struct screen *s = &data->screen; u_int n; int keys; + enum mode_key_cmd cmd; if (data->inputtype != WINDOW_COPY_OFF) { if (window_copy_key_input(wp, key) != 0) @@ -231,7 +232,8 @@ window_copy_key(struct window_pane *wp, struct client *c, int key) return; } - switch (mode_key_lookup(&data->mdata, key)) { + cmd = mode_key_lookup(&data->mdata, key); + switch (cmd) { case MODEKEYCOPY_CANCEL: window_pane_reset_mode(wp); break; @@ -367,15 +369,22 @@ window_copy_key(struct window_pane *wp, struct client *c, int key) data->inputprompt = "Search Down"; goto input_on; case MODEKEYCOPY_SEARCHAGAIN: + case MODEKEYCOPY_SEARCHREVERSE: switch (data->searchtype) { case WINDOW_COPY_OFF: case WINDOW_COPY_GOTOLINE: break; case WINDOW_COPY_SEARCHUP: - window_copy_search_up(wp, data->searchstr); + if (cmd == MODEKEYCOPY_SEARCHAGAIN) + window_copy_search_up(wp, data->searchstr); + else + window_copy_search_down(wp, data->searchstr); break; case WINDOW_COPY_SEARCHDOWN: - window_copy_search_down(wp, data->searchstr); + if (cmd == MODEKEYCOPY_SEARCHAGAIN) + window_copy_search_down(wp, data->searchstr); + else + window_copy_search_up(wp, data->searchstr); break; } break; |