aboutsummaryrefslogtreecommitdiff
path: root/window-copy.c
diff options
context:
space:
mode:
authornicm <nicm>2020-03-11 18:46:42 +0000
committernicm <nicm>2020-03-11 18:46:42 +0000
commit4eba98313c6f1ddf1070bea8aaf638e8ea455231 (patch)
tree8ec5803bc479c5e14da3fce3dc2b6e26c644b96e /window-copy.c
parentc820585dd0b5060d57296ae1086908e0b67b47b5 (diff)
downloadrtmux-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.c5
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) {