aboutsummaryrefslogtreecommitdiff
path: root/window-copy.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-09-09 12:02:32 +0100
committerThomas Adam <thomas@xteddy.org>2019-09-09 12:02:32 +0100
commit2e90841f2ed4fbe0bb13681c9a90e355fe98ab1d (patch)
treed30661549b8e423251d749086316aaedc3d5c672 /window-copy.c
parent9a476c5f29d404128da070f2fe35a66bbe29ed9b (diff)
parentb31515fec36e8eb6eb57a75825e9840d8bd68a2e (diff)
downloadrtmux-2e90841f2ed4fbe0bb13681c9a90e355fe98ab1d.tar.gz
rtmux-2e90841f2ed4fbe0bb13681c9a90e355fe98ab1d.tar.bz2
rtmux-2e90841f2ed4fbe0bb13681c9a90e355fe98ab1d.zip
Merge branch 'obsd-master'
Diffstat (limited to 'window-copy.c')
-rw-r--r--window-copy.c17
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,