diff options
author | nicm <nicm> | 2020-03-11 18:46:42 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-03-11 18:46:42 +0000 |
commit | 4eba98313c6f1ddf1070bea8aaf638e8ea455231 (patch) | |
tree | 8ec5803bc479c5e14da3fce3dc2b6e26c644b96e /window-copy.c | |
parent | c820585dd0b5060d57296ae1086908e0b67b47b5 (diff) | |
download | rtmux-4eba98313c6f1ddf1070bea8aaf638e8ea455231.tar.gz rtmux-4eba98313c6f1ddf1070bea8aaf638e8ea455231.tar.bz2 rtmux-4eba98313c6f1ddf1070bea8aaf638e8ea455231.zip |
Start a new selection if outside the existing selection after a word has
been selected. From Anindya Mukherjee.
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/window-copy.c b/window-copy.c index 8e3f63d1..3e6b3e68 100644 --- a/window-copy.c +++ b/window-copy.c @@ -4122,7 +4122,7 @@ window_copy_start_drag(struct client *c, struct mouse_event *m) struct window_pane *wp; struct window_mode_entry *wme; struct window_copy_mode_data *data; - u_int x, y; + u_int x, y, yg; if (c == NULL) return; @@ -4143,6 +4143,9 @@ window_copy_start_drag(struct client *c, struct mouse_event *m) c->tty.mouse_drag_release = window_copy_drag_release; data = wme->data; + yg = screen_hsize(data->backing) + y - data->oy; + if (x < data->selrx || x > data->endselrx || yg != data->selry) + data->selflag = SEL_CHAR; switch (data->selflag) { case SEL_WORD: if (data->ws) { |