Sync OpenBSD patchset 941:

Extend the mode-mouse option to add a third choice which means the mouse
does not enter copy mode. Patch from SF bug 3374493.

In future the mode-mouse option is likely to die and be broken into
several smaller options.
This commit is contained in:
Tiago Cunha 2011-08-04 17:05:35 +00:00
parent 2589d117b0
commit 3ce1b91b1b
3 changed files with 15 additions and 4 deletions

View File

@ -203,6 +203,7 @@ input_mouse(struct window_pane *wp, struct mouse_event *m)
{ {
char buf[10]; char buf[10];
size_t len; size_t len;
int value;
if (wp->screen->mode & ALL_MOUSE_MODES) { if (wp->screen->mode & ALL_MOUSE_MODES) {
if (wp->screen->mode & MODE_MOUSE_UTF8) { if (wp->screen->mode & MODE_MOUSE_UTF8) {
@ -220,7 +221,8 @@ input_mouse(struct window_pane *wp, struct mouse_event *m)
} }
bufferevent_write(wp->event, buf, len); bufferevent_write(wp->event, buf, len);
} else if ((m->b & MOUSE_BUTTON) != MOUSE_2) { } else if ((m->b & MOUSE_BUTTON) != MOUSE_2) {
if (options_get_number(&wp->window->options, "mode-mouse") && value = options_get_number(&wp->window->options, "mode-mouse");
if (value == 1 &&
window_pane_set_mode(wp, &window_copy_mode) == 0) { window_pane_set_mode(wp, &window_copy_mode) == 0) {
window_copy_init_from_pane(wp); window_copy_init_from_pane(wp);
if (wp->mode->mouse != NULL) if (wp->mode->mouse != NULL)

View File

@ -35,6 +35,9 @@
const char *options_table_mode_keys_list[] = { const char *options_table_mode_keys_list[] = {
"emacs", "vi", NULL "emacs", "vi", NULL
}; };
const char *options_table_mode_mouse_list[] = {
"off", "on", "copy-mode", NULL
};
const char *options_table_clock_mode_style_list[] = { const char *options_table_clock_mode_style_list[] = {
"12", "24", NULL "12", "24", NULL
}; };
@ -483,7 +486,8 @@ const struct options_table_entry window_options_table[] = {
}, },
{ .name = "mode-mouse", { .name = "mode-mouse",
.type = OPTIONS_TABLE_FLAG, .type = OPTIONS_TABLE_CHOICE,
.choices = options_table_mode_mouse_list,
.default_num = 0 .default_num = 0
}, },

9
tmux.1
View File

@ -14,7 +14,7 @@
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING .\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\" .\"
.Dd $Mdocdate: July 25 2011 $ .Dd $Mdocdate: July 30 2011 $
.Dt TMUX 1 .Dt TMUX 1
.Os .Os
.Sh NAME .Sh NAME
@ -2362,12 +2362,17 @@ contains
.Ql vi . .Ql vi .
.Pp .Pp
.It Xo Ic mode-mouse .It Xo Ic mode-mouse
.Op Ic on | off .Op Ic on | off | copy-mode
.Xc .Xc
Mouse state in modes. Mouse state in modes.
If on, the mouse may be used to enter copy mode and copy a selection by If on, the mouse may be used to enter copy mode and copy a selection by
dragging, to enter copy mode and scroll with the mouse wheel, or to select an dragging, to enter copy mode and scroll with the mouse wheel, or to select an
option in choice mode. option in choice mode.
If set to
.Em
copy-mode ,
the mouse behaves as set to on, but cannot be used to enter copy
mode.
.Pp .Pp
.It Xo Ic monitor-activity .It Xo Ic monitor-activity
.Op Ic on | off .Op Ic on | off