Add support for the iTerm2 sychronized updates escape sequence which

drastically reduces flickering.
This commit is contained in:
nicm
2020-04-16 13:35:24 +00:00
parent a2e47b5279
commit b2443aa2f9
7 changed files with 56 additions and 2 deletions

View File

@ -260,6 +260,7 @@ static const struct tty_term_code_entry tty_term_codes[] = {
[TTYC_SMUL] = { TTYCODE_STRING, "smul" },
[TTYC_SMXX] = { TTYCODE_STRING, "smxx" },
[TTYC_SS] = { TTYCODE_STRING, "Ss" },
[TTYC_SYNC] = { TTYCODE_FLAG, "Sync" },
[TTYC_TC] = { TTYCODE_FLAG, "Tc" },
[TTYC_TSL] = { TTYCODE_STRING, "tsl" },
[TTYC_U8] = { TTYCODE_NUMBER, "U8" },
@ -532,6 +533,10 @@ tty_term_find(char *name, int fd, char **cause)
tty_term_has(term, TTYC_SETRGBB)))
term->flags |= TERM_RGBCOLOURS;
/* Set flag if terminal has synchronized updates. */
if (tty_term_flag(term, TTYC_SYNC))
term->flags |= TERM_SYNC;
/*
* Terminals without xenl (eat newline glitch) wrap at at $COLUMNS - 1
* rather than $COLUMNS (the cursor can never be beyond $COLUMNS - 1).