mirror of
https://github.com/tmux/tmux.git
synced 2025-11-04 17:46:05 +00:00
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.
This commit is contained in:
@@ -158,6 +158,10 @@ key_bindings_init(void)
|
||||
"bind -r C-Down resize-pane -D",
|
||||
"bind -r C-Left resize-pane -L",
|
||||
"bind -r C-Right resize-pane -R",
|
||||
"bind -n MouseDown1Pane select-pane -t=\\; send-keys -M",
|
||||
"bind -n MouseDrag1Border resize-pane -M",
|
||||
"bind -n MouseDown1Status select-window -t=",
|
||||
"bind -n MouseDrag1Pane copy-mode -M",
|
||||
};
|
||||
u_int i;
|
||||
struct cmd_list *cmdlist;
|
||||
@@ -173,14 +177,15 @@ key_bindings_init(void)
|
||||
"<default-keys>", i, &cause);
|
||||
if (error != 0)
|
||||
fatalx("bad default key");
|
||||
cmdq_run(cmdq, cmdlist);
|
||||
cmd_list_free(cmdlist);
|
||||
cmdq_run(cmdq, cmdlist, NULL);
|
||||
cmd_list_free (cmdlist);
|
||||
}
|
||||
cmdq_free(cmdq);
|
||||
}
|
||||
|
||||
void
|
||||
key_bindings_dispatch(struct key_binding *bd, struct client *c)
|
||||
key_bindings_dispatch(struct key_binding *bd, struct client *c,
|
||||
struct mouse_event *m)
|
||||
{
|
||||
struct cmd *cmd;
|
||||
int readonly;
|
||||
@@ -195,5 +200,5 @@ key_bindings_dispatch(struct key_binding *bd, struct client *c)
|
||||
return;
|
||||
}
|
||||
|
||||
cmdq_run(c->cmdq, bd->cmdlist);
|
||||
cmdq_run(c->cmdq, bd->cmdlist, m);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user