diff options
author | nicm <nicm> | 2019-09-09 08:01:21 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-09-09 08:01:21 +0000 |
commit | b31515fec36e8eb6eb57a75825e9840d8bd68a2e (patch) | |
tree | bab4a53e5fd7ced8975ad2ac99f2995ab4f3b3d1 /window-copy.c | |
parent | 7ce813513818e58d3d35116c868bd6c8d866c997 (diff) | |
download | rtmux-b31515fec36e8eb6eb57a75825e9840d8bd68a2e.tar.gz rtmux-b31515fec36e8eb6eb57a75825e9840d8bd68a2e.tar.bz2 rtmux-b31515fec36e8eb6eb57a75825e9840d8bd68a2e.zip |
Add cursor-down-and-cancel, from Mark Kelly.
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/window-copy.c b/window-copy.c index c7c44fe9..b90130c7 100644 --- a/window-copy.c +++ b/window-copy.c @@ -820,6 +820,21 @@ window_copy_cmd_cursor_down(struct window_copy_cmd_state *cs) } static enum window_copy_cmd_action +window_copy_cmd_cursor_down_and_cancel(struct window_copy_cmd_state *cs) +{ + struct window_mode_entry *wme = cs->wme; + struct window_copy_mode_data *data = wme->data; + u_int np = wme->prefix, cy; + + cy = data->cy; + for (; np != 0; np--) + window_copy_cursor_down(wme, 0); + if (cy == data->cy && data->oy == 0) + return (WINDOW_COPY_CMD_CANCEL); + return (WINDOW_COPY_CMD_NOTHING); +} + +static enum window_copy_cmd_action window_copy_cmd_cursor_left(struct window_copy_cmd_state *cs) { struct window_mode_entry *wme = cs->wme; @@ -1810,6 +1825,8 @@ static const struct { window_copy_cmd_copy_selection_and_cancel }, { "cursor-down", 0, 0, window_copy_cmd_cursor_down }, + { "cursor-down-and-cancel", 0, 0, + window_copy_cmd_cursor_down_and_cancel }, { "cursor-left", 0, 0, window_copy_cmd_cursor_left }, { "cursor-right", 0, 0, |