summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2021-06-08 10:49:40 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2021-06-10 09:23:48 +0100
commitd8feffd2bfd0c53a3323a4bda830acaafed259ed (patch)
treefc5460999e14c51da0342a22cbc87d67405fcc69
parentf48c46a76adb78527627894c07ca45a393d7fa2c (diff)
Feature for the mouse since FreeBSD termcap does not have kmous.
-rw-r--r--tmux.14
-rw-r--r--tty-features.c17
2 files changed, 18 insertions, 3 deletions
diff --git a/tmux.1 b/tmux.1
index 22982b11..365b93f5 100644
--- a/tmux.1
+++ b/tmux.1
@@ -3539,6 +3539,10 @@ Supports extended keys.
Supports focus reporting.
.It margins
Supports DECSLRM margins.
+.It mouse
+Supports
+.Xr xterm 1
+mouse sequences.
.It overline
Supports the overline SGR attribute.
.It rectfill
diff --git a/tty-features.c b/tty-features.c
index b42cf74a..48ac51be 100644
--- a/tty-features.c
+++ b/tty-features.c
@@ -25,7 +25,6 @@
/*
* Still hardcoded:
- * - mouse (under kmous capability);
* - default colours (under AX or op capabilities);
* - AIX colours (under colors >= 16);
* - alternate escape (if terminal is VT100-like).
@@ -54,6 +53,17 @@ static const struct tty_feature tty_feature_title = {
0
};
+/* Terminal has mouse support. */
+static const char *tty_feature_mouse_capabilities[] = {
+ "kmous=\\E[M",
+ NULL
+};
+static const struct tty_feature tty_feature_mouse = {
+ "mouse",
+ tty_feature_mouse_capabilities,
+ 0
+};
+
/* Terminal can set the clipboard with OSC 52. */
static const char *tty_feature_clipboard_capabilities[] = {
"Ms=\\E]52;%p1%s;%p2%s\\a",
@@ -238,6 +248,7 @@ static const struct tty_feature *tty_features[] = {
&tty_feature_extkeys,
&tty_feature_focus,
&tty_feature_margins,
+ &tty_feature_mouse,
&tty_feature_overline,
&tty_feature_rectfill,
&tty_feature_rgb,
@@ -338,7 +349,7 @@ tty_default_features(int *feat, const char *name, u_int version)
const char *features;
} table[] = {
#define TTY_FEATURES_BASE_MODERN_XTERM \
- "256,RGB,bpaste,clipboard,strikethrough,title"
+ "256,RGB,bpaste,clipboard,mouse,strikethrough,title"
{ .name = "mintty",
.features = TTY_FEATURES_BASE_MODERN_XTERM
",ccolour,cstyle,extkeys,margins,overline,usstyle"
@@ -348,7 +359,7 @@ tty_default_features(int *feat, const char *name, u_int version)
",ccolour,cstyle,focus,overline,usstyle"
},
{ .name = "rxvt-unicode",
- .features = "256,bpaste,ccolour,cstyle,title"
+ .features = "256,bpaste,ccolour,cstyle,mouse,title"
},
{ .name = "iTerm2",
.features = TTY_FEATURES_BASE_MODERN_XTERM