diff options
author | nicm <nicm> | 2016-09-12 15:40:58 +0000 |
---|---|---|
committer | nicm <nicm> | 2016-09-12 15:40:58 +0000 |
commit | 2e5584c2b41df1c1b836c3229ea78f8ea3d81054 (patch) | |
tree | 1f790c7d13f657d2e22bb292c56968cbc84bf675 /window-copy.c | |
parent | fed1e384ad7eb88cc6203e49d4efa8e5ed4edb59 (diff) | |
download | rtmux-2e5584c2b41df1c1b836c3229ea78f8ea3d81054.tar.gz rtmux-2e5584c2b41df1c1b836c3229ea78f8ea3d81054.tar.bz2 rtmux-2e5584c2b41df1c1b836c3229ea78f8ea3d81054.zip |
Allow repeat count to be specified in mode key tables with bind-key -R,
and set the default repeat count to 5 for WheelUp and WheelDown in
copy-mode.
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/window-copy.c b/window-copy.c index dfd0dc06..320cc3d4 100644 --- a/window-copy.c +++ b/window-copy.c @@ -538,7 +538,9 @@ window_copy_key(struct window_pane *wp, struct client *c, struct session *sess, return; } - cmd = mode_key_lookup(&data->mdata, key, &arg); + cmd = mode_key_lookup(&data->mdata, key, &arg, &np); + if (data->numprefix > 0) + np = data->numprefix; if (cmd != MODEKEYCOPY_PREVIOUSPAGE && cmd != MODEKEYCOPY_NEXTPAGE && cmd != MODEKEYCOPY_SCROLLUP && @@ -900,11 +902,11 @@ window_copy_key_input(struct window_pane *wp, key_code key) struct screen *s = &data->screen; const char *bufdata; size_t inputlen, n, bufsize; - int np; + u_int np; struct paste_buffer *pb; u_char ch; - switch (mode_key_lookup(&data->mdata, key, NULL)) { + switch (mode_key_lookup(&data->mdata, key, NULL, &np)) { case MODEKEYEDIT_CANCEL: data->numprefix = -1; return (-1); @@ -932,10 +934,8 @@ window_copy_key_input(struct window_pane *wp, key_code key) data->inputstr[inputlen + n] = '\0'; break; case MODEKEYEDIT_ENTER: - np = data->numprefix; - if (np <= 0) - np = 1; - + if (data->numprefix > 0) + np = data->numprefix; switch (data->inputtype) { case WINDOW_COPY_OFF: case WINDOW_COPY_JUMPFORWARD: |