summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2009-07-30 07:04:50 +0000
committernicm <nicm@openbsd.org>2009-07-30 07:04:50 +0000
commitd940efd9bbb544db874e7d41b823413812fffa65 (patch)
treece07aeec3fb4614b82ca2b260a860fe3d4b73d37
parenttweak previous; (diff)
downloadwireguard-openbsd-d940efd9bbb544db874e7d41b823413812fffa65.tar.xz
wireguard-openbsd-d940efd9bbb544db874e7d41b823413812fffa65.zip
Add a mode-mouse option to prevent tmux taking over the mouse in choice or copy
modes.
-rw-r--r--usr.bin/tmux/cmd-set-window-option.c3
-rw-r--r--usr.bin/tmux/tmux.114
-rw-r--r--usr.bin/tmux/tmux.c5
-rw-r--r--usr.bin/tmux/window-choose.c5
-rw-r--r--usr.bin/tmux/window-copy.c5
5 files changed, 21 insertions, 11 deletions
diff --git a/usr.bin/tmux/cmd-set-window-option.c b/usr.bin/tmux/cmd-set-window-option.c
index 0ed1bda0cbd..2695e31279a 100644
--- a/usr.bin/tmux/cmd-set-window-option.c
+++ b/usr.bin/tmux/cmd-set-window-option.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cmd-set-window-option.c,v 1.8 2009/07/26 12:58:44 nicm Exp $ */
+/* $OpenBSD: cmd-set-window-option.c,v 1.9 2009/07/30 07:04:50 nicm Exp $ */
/*
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -60,6 +60,7 @@ const struct set_option_entry set_window_option_table[] = {
{ "mode-bg", SET_OPTION_COLOUR, 0, 0, NULL },
{ "mode-fg", SET_OPTION_COLOUR, 0, 0, NULL },
{ "mode-keys", SET_OPTION_CHOICE, 0, 0, set_option_mode_keys_list },
+ { "mode-mouse", SET_OPTION_FLAG, 0, 0, NULL },
{ "monitor-activity", SET_OPTION_FLAG, 0, 0, NULL },
{ "monitor-content", SET_OPTION_STRING, 0, 0, NULL },
{ "remain-on-exit", SET_OPTION_FLAG, 0, 0, NULL },
diff --git a/usr.bin/tmux/tmux.1 b/usr.bin/tmux/tmux.1
index b5fa1eddd17..0d6ca569d79 100644
--- a/usr.bin/tmux/tmux.1
+++ b/usr.bin/tmux/tmux.1
@@ -1,4 +1,4 @@
-.\" $OpenBSD: tmux.1,v 1.49 2009/07/28 17:05:10 nicm Exp $
+.\" $OpenBSD: tmux.1,v 1.50 2009/07/30 07:04:50 nicm Exp $
.\"
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
.\"
@@ -14,7 +14,7 @@
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: July 28 2009 $
+.Dd $Mdocdate: July 30 2009 $
.Dt TMUX 1
.Os
.Sh NAME
@@ -1529,9 +1529,15 @@ Set window modes foreground colour.
.It Xo Ic mode-keys
.Op Ic vi | Ic emacs
.Xc
-Use vi or emacs-style
-key bindings in scroll and copy modes.
+Use vi or emacs-style key bindings in scroll, copy and choice modes.
Key bindings default to emacs.
+.It Xo Ic mode-mouse
+.Op Ic on | Ic off
+.Xc
+Mouse state in modes. If on,
+.Nm
+will respond to mouse clicks by moving the cursor in copy mode or selecting an
+option in choice mode.
.It Xo Ic monitor-activity
.Op Ic on | Ic off
.Xc
diff --git a/usr.bin/tmux/tmux.c b/usr.bin/tmux/tmux.c
index d3ac8fdbb51..8ff1d6d089a 100644
--- a/usr.bin/tmux/tmux.c
+++ b/usr.bin/tmux/tmux.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tmux.c,v 1.23 2009/07/29 14:17:26 nicm Exp $ */
+/* $OpenBSD: tmux.c,v 1.24 2009/07/30 07:04:50 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -378,12 +378,13 @@ main(int argc, char **argv)
options_set_number(&global_w_options, "clock-mode-style", 1);
options_set_number(&global_w_options, "force-height", 0);
options_set_number(&global_w_options, "force-width", 0);
- options_set_number(&global_w_options, "mode-attr", GRID_ATTR_REVERSE);
options_set_number(&global_w_options, "main-pane-width", 81);
options_set_number(&global_w_options, "main-pane-height", 24);
+ options_set_number(&global_w_options, "mode-attr", GRID_ATTR_REVERSE);
options_set_number(&global_w_options, "mode-bg", 3);
options_set_number(&global_w_options, "mode-fg", 0);
options_set_number(&global_w_options, "mode-keys", MODEKEY_EMACS);
+ options_set_number(&global_w_options, "mode-mouse", 1);
options_set_number(&global_w_options, "monitor-activity", 0);
options_set_string(&global_w_options, "monitor-content", "%s", "");
if (flags & IDENTIFY_UTF8)
diff --git a/usr.bin/tmux/window-choose.c b/usr.bin/tmux/window-choose.c
index 56b75d4cf4a..b0d4cbe2e0a 100644
--- a/usr.bin/tmux/window-choose.c
+++ b/usr.bin/tmux/window-choose.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: window-choose.c,v 1.6 2009/07/28 07:03:32 nicm Exp $ */
+/* $OpenBSD: window-choose.c,v 1.7 2009/07/30 07:04:50 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -123,7 +123,8 @@ window_choose_init(struct window_pane *wp)
s = &data->screen;
screen_init(s, screen_size_x(&wp->base), screen_size_y(&wp->base), 0);
s->mode &= ~MODE_CURSOR;
- s->mode |= MODE_MOUSE;
+ if (options_get_number(&wp->window->options, "mode-mouse"))
+ s->mode |= MODE_MOUSE;
keys = options_get_number(&wp->window->options, "mode-keys");
if (keys == MODEKEY_EMACS)
diff --git a/usr.bin/tmux/window-copy.c b/usr.bin/tmux/window-copy.c
index ad6a6cbbb9d..1024d9eb702 100644
--- a/usr.bin/tmux/window-copy.c
+++ b/usr.bin/tmux/window-copy.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: window-copy.c,v 1.12 2009/07/28 07:03:32 nicm Exp $ */
+/* $OpenBSD: window-copy.c,v 1.13 2009/07/30 07:04:50 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -104,7 +104,8 @@ window_copy_init(struct window_pane *wp)
s = &data->screen;
screen_init(s, screen_size_x(&wp->base), screen_size_y(&wp->base), 0);
- s->mode |= MODE_MOUSE;
+ if (options_get_number(&wp->window->options, "mode-mouse"))
+ s->mode |= MODE_MOUSE;
keys = options_get_number(&wp->window->options, "mode-keys");
if (keys == MODEKEY_EMACS)