mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 13:37:12 +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