diff options
Diffstat (limited to 'tty-features.c')
-rw-r--r-- | tty-features.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/tty-features.c b/tty-features.c index 6dfc26aa..0e24d292 100644 --- a/tty-features.c +++ b/tty-features.c @@ -26,7 +26,6 @@ /* * Still hardcoded: * - mouse (under kmous capability); - * - focus events (under XT and focus-events option); * - default colours (under AX or op capabilities); * - AIX colours (under colors >= 16); * - alternate escape (under XT). @@ -122,9 +121,9 @@ static struct tty_feature tty_feature_usstyle = { 0 }; -/* Terminal supports cursor bracketed paste. */ +/* Terminal supports bracketed paste. */ static const char *tty_feature_bpaste_capabilities[] = { - "Enbp=\E[?2004h", + "Enbp=\\E[?2004h", "Dsbp=\\E[?2004l", NULL }; @@ -134,6 +133,18 @@ static struct tty_feature tty_feature_bpaste = { 0 }; +/* Terminal supports focus reporting. */ +static const char *tty_feature_focus_capabilities[] = { + "Enfcs=\\E[?1004h", + "Dsfcs=\\E[?1004l", + NULL +}; +static struct tty_feature tty_feature_focus = { + "focus", + tty_feature_focus_capabilities, + 0 +}; + /* Terminal supports cursor styles. */ static const char *tty_feature_cstyle_capabilities[] = { "Ss=\\E[%p1%d q", @@ -205,9 +216,10 @@ static struct tty_feature tty_feature_rectfill = { static const struct tty_feature *tty_features[] = { &tty_feature_256, &tty_feature_bpaste, - &tty_feature_clipboard, &tty_feature_ccolour, + &tty_feature_clipboard, &tty_feature_cstyle, + &tty_feature_focus, &tty_feature_margins, &tty_feature_overline, &tty_feature_rectfill, @@ -308,20 +320,21 @@ tty_default_features(int *feat, const char *name, u_int version) u_int version; const char *features; } table[] = { +#define TTY_FEATURES_BASE_MODERN_XTERM "256,RGB,bpaste,clipboard,strikethrough,title" { .name = "mintty", - .features = "256,RGB,bpaste,ccolour,clipboard,cstyle,margins,overline,strikethrough,title" + .features = TTY_FEATURES_BASE_MODERN_XTERM ",ccolour,cstyle,margins,overline" }, { .name = "tmux", - .features = "256,RGB,bpaste,ccolour,clipboard,cstyle,overline,strikethough,title,usstyle" + .features = TTY_FEATURES_BASE_MODERN_XTERM ",ccolour,cstyle,focus,overline,usstyle" }, { .name = "rxvt-unicode", .features = "256,title" }, { .name = "iTerm2", - .features = "256,RGB,bpaste,clipboard,cstyle,margins,strikethrough,sync,title" + .features = TTY_FEATURES_BASE_MODERN_XTERM ",cstyle,margins,sync" }, { .name = "XTerm", - .features = "256,RGB,bpaste,ccolour,clipboard,cstyle,margins,rectfill,strikethrough,title" + .features = TTY_FEATURES_BASE_MODERN_XTERM ",ccolour,cstyle,focus,margins,rectfill" } }; u_int i; |