summaryrefslogtreecommitdiffstats
path: root/input-keys.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2012-11-27 22:24:00 +0000
committerThomas Adam <thomas@xteddy.org>2012-11-27 22:24:00 +0000
commit739a76634c956016c44a89530d8ee9d20c4ed9f0 (patch)
treecda15fec72c5e350fa188359f6d8325a030d092a /input-keys.c
parent39631edb98a542be53fce6f1eeef41880c9a76b4 (diff)
parent47c097cb51da9622180963af5391d142e7d4ade3 (diff)
Merge branch 'obsd-master'
Sync from OpenBSD.
Diffstat (limited to 'input-keys.c')
-rw-r--r--input-keys.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/input-keys.c b/input-keys.c
index 483d410f..0953ce7e 100644
--- a/input-keys.c
+++ b/input-keys.c
@@ -201,8 +201,9 @@ input_key(struct window_pane *wp, int key)
void
input_mouse(struct window_pane *wp, struct session *s, struct mouse_event *m)
{
- char buf[10];
- size_t len;
+ char buf[10];
+ size_t len;
+ struct paste_buffer *pb;
if (wp->screen->mode & ALL_MOUSE_MODES) {
if (wp->screen->mode & MODE_MOUSE_UTF8) {
@@ -222,13 +223,19 @@ input_mouse(struct window_pane *wp, struct session *s, struct mouse_event *m)
return;
}
- if ((m->xb & 3) != 1 &&
+ if (m->button == 1 && (m->event & MOUSE_EVENT_CLICK) &&
+ options_get_number(&wp->window->options, "mode-mouse") == 1) {
+ pb = paste_get_top(&global_buffers);
+ if (pb != NULL) {
+ paste_send_pane(pb, wp, "\r",
+ wp->screen->mode & MODE_BRACKETPASTE);
+ }
+ } else if ((m->xb & 3) != 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);
}
- return;
}
}