summaryrefslogtreecommitdiffstats
path: root/cmd-copy-mode.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2013-03-28 15:07:42 +0000
committerNicholas Marriott <nicm@openbsd.org>2013-03-28 15:07:42 +0000
commit66afcf5be092ed0ab86d1d4059426823e72c63d5 (patch)
tree29f05a286238d079611fe49bcadd0915dd75b338 /cmd-copy-mode.c
parent7f636587098593c6c0efd3feaecb970aa7170116 (diff)
Make copy-mode -u still scroll up if already in copy mode, handy for
people who bind it with -n.
Diffstat (limited to 'cmd-copy-mode.c')
-rw-r--r--cmd-copy-mode.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/cmd-copy-mode.c b/cmd-copy-mode.c
index 59b5a9e5..883a9376 100644
--- a/cmd-copy-mode.c
+++ b/cmd-copy-mode.c
@@ -54,9 +54,11 @@ cmd_copy_mode_exec(struct cmd *self, struct cmd_q *cmdq)
if (cmd_find_pane(cmdq, args_get(args, 't'), NULL, &wp) == NULL)
return (CMD_RETURN_ERROR);
- if (window_pane_set_mode(wp, &window_copy_mode) != 0)
- return (CMD_RETURN_NORMAL);
- window_copy_init_from_pane(wp);
+ if (wp->mode != &window_copy_mode) {
+ if (window_pane_set_mode(wp, &window_copy_mode) != 0)
+ return (CMD_RETURN_NORMAL);
+ window_copy_init_from_pane(wp);
+ }
if (wp->mode == &window_copy_mode && args_has(self->args, 'u'))
window_copy_pageup(wp);