tui: ignore st terminfo cursor shape (Se, Ss) entries

closes #7641
This commit is contained in:
Justin M. Keyes
2017-12-06 10:42:26 +01:00
parent aec81f44d1
commit 5cbd3b383c

View File

@@ -1480,19 +1480,18 @@ static void patch_terminfo_bugs(TUIData *data, const char *term,
}
}
// Some terminals cannot be trusted to report DECSCUSR support. So we keep
// blacklist for when we should not trust the reported features.
if (!((vte_version != 0 && vte_version < 3900) || konsole)) {
// Dickey ncurses terminfo has included the Ss and Se capabilities,
// pioneered by tmux, since 2011-07-14. So adding them to terminal types,
// that do actually have such control sequences but lack the correct
// definitions in terminfo, is a fixup, not an augmentation.
// Blacklist of terminals that cannot be trusted to report DECSCUSR support.
if (!(st || (vte_version != 0 && vte_version < 3900) || konsole)) {
data->unibi_ext.reset_cursor_style = unibi_find_ext_str(ut, "Se");
data->unibi_ext.set_cursor_style = unibi_find_ext_str(ut, "Ss");
}
// Dickey ncurses terminfo includes Ss/Se capabilities since 2011-07-14. So
// adding them to terminal types, that have such control sequences but lack
// the correct terminfo entries, is a fixup, not an augmentation.
if (-1 == data->unibi_ext.set_cursor_style) {
// The DECSCUSR sequence to change the cursor shape is widely supported by
// several terminal types. https://github.com/gnachman/iTerm2/pull/92
// DECSCUSR (cursor shape) sequence is widely supported by several terminal
// types. https://github.com/gnachman/iTerm2/pull/92
// xterm extension: vertical bar
if (!konsole && ((xterm && !vte_version) // anything claiming xterm compat
// per MinTTY 0.4.3-1 release notes from 2009
@@ -1502,6 +1501,7 @@ static void patch_terminfo_bugs(TUIData *data, const char *term,
|| tmux // per tmux manual page
// https://lists.gnu.org/archive/html/screen-devel/2013-03/msg00000.html
|| screen
|| st // #7641
|| rxvt // per command.C
// per analysis of VT100Terminal.m
|| iterm || iterm_pretending_xterm