Add extension terminfo(5) capabilities for margins.

This commit is contained in:
nicm
2020-05-16 14:22:51 +00:00
parent 41dec585df
commit 4e0a718666
6 changed files with 33 additions and 16 deletions

View File

@ -34,7 +34,7 @@
*
* Also:
* - XT is used to decide whether to send DA and XDA;
* - DECSLRM and DECFRA use a flag instead of capabilities;
* - DECFRA uses a flag instead of capabilities;
* - UTF-8 is a separate flag on the client; needed for unattached clients.
*/
@ -84,7 +84,7 @@ static const char *tty_feature_rgb_capabilities[] = {
static struct tty_feature tty_feature_rgb = {
"RGB",
tty_feature_rgb_capabilities,
(TERM_256COLOURS|TERM_RGBCOLOURS)
TERM_256COLOURS|TERM_RGBCOLOURS
};
/* Terminal supports 256 colours. */
@ -159,9 +159,16 @@ static struct tty_feature tty_feature_sync = {
};
/* Terminal supports DECSLRM margins. */
static const char *tty_feature_margins_capabilities[] = {
"Enmg=\\E[?69h",
"Dsmg=\\E[?69l",
"Clmg=\\E[s",
"Cmg=\\E[%i%p1%d;%p2%ds",
NULL
};
static struct tty_feature tty_feature_margins = {
"margins",
NULL,
tty_feature_margins_capabilities,
TERM_DECSLRM
};
@ -194,6 +201,8 @@ tty_add_features(int *feat, const char *s, const char *separators)
char *next, *loop, *copy;
u_int i;
log_debug("%s: %s", __func__, s);
loop = copy = xstrdup(s);
while ((next = strsep(&loop, separators)) != NULL) {
for (i = 0; i < nitems(tty_features); i++) {