diff options
author | Thomas Adam <thomas@xteddy.org> | 2014-11-09 00:15:51 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2014-11-09 00:15:51 +0000 |
commit | fc05bf255af2a39a8168320455f79e7e6d9e915a (patch) | |
tree | 513fd3ba523bb758a8977f12618f667ad3a5247d /input-keys.c | |
parent | 747cab428158eada08a87a2c0e1ac917ba3293e1 (diff) | |
parent | 8f1302282b02f07e0868fbcdb79bb5404010ad4e (diff) | |
download | rtmux-fc05bf255af2a39a8168320455f79e7e6d9e915a.tar.gz rtmux-fc05bf255af2a39a8168320455f79e7e6d9e915a.tar.bz2 rtmux-fc05bf255af2a39a8168320455f79e7e6d9e915a.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'input-keys.c')
-rw-r--r-- | input-keys.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/input-keys.c b/input-keys.c index da64865d..ef652ee1 100644 --- a/input-keys.c +++ b/input-keys.c @@ -204,6 +204,7 @@ input_mouse(struct window_pane *wp, struct session *s, struct mouse_event *m) char buf[40]; size_t len; struct paste_buffer *pb; + int event; if (wp->screen->mode & ALL_MOUSE_MODES) { /* @@ -237,19 +238,16 @@ input_mouse(struct window_pane *wp, struct session *s, struct mouse_event *m) return; } - if (m->button == 1 && (m->event & MOUSE_EVENT_CLICK) && - options_get_number(&wp->window->options, "mode-mouse") == 1) { + if (options_get_number(&wp->window->options, "mode-mouse") != 1) + return; + event = m->event & (MOUSE_EVENT_CLICK|MOUSE_EVENT_WHEEL); + if (wp->mode == NULL && m->button == 1 && event == MOUSE_EVENT_CLICK) { pb = paste_get_top(); - if (pb != NULL) { - paste_send_pane(pb, wp, "\r", - wp->screen->mode & MODE_BRACKETPASTE); - } - } else if (m->button != 1 && - options_get_number(&wp->window->options, "mode-mouse") == 1) { - if (window_pane_set_mode(wp, &window_copy_mode) == 0) { - window_copy_init_from_pane(wp); - if (wp->mode->mouse != NULL) - wp->mode->mouse(wp, s, m); - } + if (pb != NULL) + paste_send_pane(pb, wp, "\r", 1); + } else if (window_pane_set_mode(wp, &window_copy_mode) == 0) { + window_copy_init_from_pane(wp); + if (wp->mode->mouse != NULL) + wp->mode->mouse(wp, s, m); } } |