summaryrefslogtreecommitdiffstats
path: root/layout.c
diff options
context:
space:
mode:
authornicm <nicm>2015-04-19 21:34:21 +0000
committernicm <nicm>2015-04-19 21:34:21 +0000
commitbf635e7741f7b881f67ec7e4a5caa02f7ff3d786 (patch)
treec2da2accbb948824e54043a1539b2e3ca9187168 /layout.c
parentee123c248951450100475717f5bd45f292d9bb4d (diff)
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 'layout.c')
-rw-r--r--layout.c52
1 files changed, 0 insertions, 52 deletions
diff --git a/layout.c b/layout.c
index b91b86cd..bb1bbf8d 100644
--- a/layout.c
+++ b/layout.c
@@ -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(