summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/layout.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2015-04-19 21:34:21 +0000
committernicm <nicm@openbsd.org>2015-04-19 21:34:21 +0000
commite048bb79acc026721c5cdf9f402df922d7a24593 (patch)
tree22971b0d50647e66a741bcb90f1fb3564a363401 /usr.bin/tmux/layout.c
parentSupport setting the default window and pane background colours (window (diff)
downloadwireguard-openbsd-e048bb79acc026721c5cdf9f402df922d7a24593.tar.xz
wireguard-openbsd-e048bb79acc026721c5cdf9f402df922d7a24593.zip
Rewrite of tmux mouse support which was a mess. Instead of having
options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on). See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event). The default builtin bindings for the mouse are: bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M To get the effect of turning mode-mouse off, do: unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
Diffstat (limited to 'usr.bin/tmux/layout.c')
-rw-r--r--usr.bin/tmux/layout.c54
1 files changed, 1 insertions, 53 deletions
diff --git a/usr.bin/tmux/layout.c b/usr.bin/tmux/layout.c
index f7bc3c4fb53..743ffe6e85d 100644
--- a/usr.bin/tmux/layout.c
+++ b/usr.bin/tmux/layout.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: layout.c,v 1.22 2014/05/08 06:03:30 nicm Exp $ */
+/* $OpenBSD: layout.c,v 1.23 2015/04/19 21:34:21 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -519,58 +519,6 @@ layout_resize_pane(struct window_pane *wp, enum layout_type type, int change)
notify_window_layout_changed(wp->window);
}
-/* Resize pane based on mouse events. */
-void
-layout_resize_pane_mouse(struct client *c)
-{
- struct window *w;
- struct window_pane *wp;
- struct mouse_event *m = &c->tty.mouse;
- int pane_border;
-
- w = c->session->curw->window;
-
- pane_border = 0;
- if (m->event & MOUSE_EVENT_DRAG && m->flags & MOUSE_RESIZE_PANE) {
- TAILQ_FOREACH(wp, &w->panes, entry) {
- if (!window_pane_visible(wp))
- continue;
-
- if (wp->xoff + wp->sx == m->lx &&
- wp->yoff <= 1 + m->ly &&
- wp->yoff + wp->sy >= m->ly) {
- layout_resize_pane(wp, LAYOUT_LEFTRIGHT,
- m->x - m->lx);
- pane_border = 1;
- }
- if (wp->yoff + wp->sy == m->ly &&
- wp->xoff <= 1 + m->lx &&
- wp->xoff + wp->sx >= m->lx) {
- layout_resize_pane(wp, LAYOUT_TOPBOTTOM,
- m->y - m->ly);
- pane_border = 1;
- }
- }
- if (pane_border)
- server_redraw_window(w);
- } else if (m->event & MOUSE_EVENT_DOWN) {
- TAILQ_FOREACH(wp, &w->panes, entry) {
- if ((wp->xoff + wp->sx == m->x &&
- wp->yoff <= 1 + m->y &&
- wp->yoff + wp->sy >= m->y) ||
- (wp->yoff + wp->sy == m->y &&
- wp->xoff <= 1 + m->x &&
- wp->xoff + wp->sx >= m->x)) {
- pane_border = 1;
- }
- }
- }
- if (pane_border)
- m->flags |= MOUSE_RESIZE_PANE;
- else
- m->flags &= ~MOUSE_RESIZE_PANE;
-}
-
/* Helper function to grow pane. */
int
layout_resize_pane_grow(