=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tty-keys.c,v retrieving revision 1.125 retrieving revision 1.126 diff -c -r1.125 -r1.126 *** src/usr.bin/tmux/tty-keys.c 2020/04/17 09:06:10 1.125 --- src/usr.bin/tmux/tty-keys.c 2020/04/20 13:25:36 1.126 *************** *** 1,4 **** ! /* $OpenBSD: tty-keys.c,v 1.125 2020/04/17 09:06:10 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: tty-keys.c,v 1.126 2020/04/20 13:25:36 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 1020,1026 **** struct client *c = tty->client; u_int i, n = 0; char tmp[64], *endptr, p[32] = { 0 }, *cp, *next; - int flags = 0; *size = 0; if (tty->flags & TTY_HAVEDA) --- 1020,1025 ---- *************** *** 1060,1083 **** n++; } ! /* Set terminal flags. */ switch (p[0]) { case 41: /* VT420 */ ! flags |= (TERM_DECFRA|TERM_DECSLRM); break; case 'M': /* mintty */ ! flags |= (TERM_256COLOURS|TERM_RGBCOLOURS); break; ! case 'T': /* tmux - new versons reply to DSR which will set RGB */ ! flags |= (TERM_UTF8|TERM_256COLOURS); break; case 'U': /* rxvt-unicode */ ! flags |= (TERM_UTF8); break; } log_debug("%s: received secondary DA %.*s", c->name, (int)*size, buf); ! tty_set_flags(tty, flags); tty->flags |= TTY_HAVEDA; return (0); --- 1059,1100 ---- n++; } ! /* Add terminal features. */ switch (p[0]) { case 41: /* VT420 */ ! tty_add_features(&c->term_features, ! "margins," ! "rectfill", ! ","); break; case 'M': /* mintty */ ! tty_add_features(&c->term_features, ! "256," ! "RGB," ! "title", ! ","); break; ! case 'T': /* tmux */ ! tty_add_features(&c->term_features, ! "256," ! "RGB," ! "ccolour," ! "cstyle," ! "overline," ! "title," ! "usstyle", ! ","); break; case 'U': /* rxvt-unicode */ ! tty_add_features(&c->term_features, ! "256," ! "title", ! ","); break; } log_debug("%s: received secondary DA %.*s", c->name, (int)*size, buf); ! tty_update_features(tty); tty->flags |= TTY_HAVEDA; return (0); *************** *** 1094,1100 **** struct client *c = tty->client; u_int i; char tmp[64]; - int flags = 0; *size = 0; if (tty->flags & TTY_HAVEDSR) --- 1111,1116 ---- *************** *** 1125,1139 **** tmp[i] = '\0'; *size = 3 + i; ! /* Set terminal flags. */ if (strncmp(tmp, "ITERM2 ", 7) == 0) { ! flags |= (TERM_UTF8|TERM_DECSLRM|TERM_SYNC|TERM_256COLOURS| ! TERM_RGBCOLOURS); ! } else if (strncmp(tmp, "TMUX ", 5) == 0) ! flags |= (TERM_UTF8|TERM_256COLOURS|TERM_RGBCOLOURS); log_debug("%s: received DSR %.*s", c->name, (int)*size, buf); ! tty_set_flags(tty, flags); tty->flags |= TTY_HAVEDSR; return (0); --- 1141,1171 ---- tmp[i] = '\0'; *size = 3 + i; ! /* Add terminal features. */ if (strncmp(tmp, "ITERM2 ", 7) == 0) { ! tty_add_features(&c->term_features, ! "256," ! "RGB," ! "clipboard," ! "cstyle," ! "margins," ! "sync," ! "title,", ! ","); ! } else if (strncmp(tmp, "TMUX ", 5) == 0) { ! tty_add_features(&c->term_features, ! "256," ! "RGB," ! "ccolour," ! "cstyle," ! "overline," ! "title," ! "usstyle", ! ","); ! } log_debug("%s: received DSR %.*s", c->name, (int)*size, buf); ! tty_update_features(tty); tty->flags |= TTY_HAVEDSR; return (0);