From: nicm Date: Thu, 21 Mar 2024 11:47:55 +0000 (+0000) Subject: Look for feature code 21 for DECSLRM and 28 for DECFRA in the device X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=27676e5c95f99696749b1ba30d5a5953b28e18cd;p=openbsd Look for feature code 21 for DECSLRM and 28 for DECFRA in the device attributes and also accept level 1 (there is no hardware with this but some emulators may use it). Pointed out by James Holderness. --- diff --git a/usr.bin/tmux/tty-keys.c b/usr.bin/tmux/tty-keys.c index da6358c71cc..9bb18406660 100644 --- a/usr.bin/tmux/tty-keys.c +++ b/usr.bin/tmux/tty-keys.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tty-keys.c,v 1.172 2023/09/08 07:05:06 nicm Exp $ */ +/* $OpenBSD: tty-keys.c,v 1.173 2024/03/21 11:47:55 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -1314,26 +1314,21 @@ tty_keys_device_attributes(struct tty *tty, const char *buf, size_t len, break; } - /* - * Add terminal features. Hardware level 5 does not offer SIXEL but - * some terminal emulators report it anyway and it does not harm - * to check it here. - * - * DECSLRM and DECFRA should be supported by level 5 as well as level - * 4, but VTE has rather ruined it by advertising level 5 despite not - * supporting them. - */ + /* Add terminal features. */ switch (p[0]) { - case 64: /* level 4 */ - tty_add_features(features, "margins,rectfill", ","); - /* FALLTHROUGH */ + case 61: /* level 1 */ case 62: /* level 2 */ case 63: /* level 3 */ + case 64: /* level 4 */ case 65: /* level 5 */ for (i = 1; i < n; i++) { log_debug("%s: DA feature: %d", c->name, p[i]); if (p[i] == 4) tty_add_features(features, "sixel", ","); + if (p[i] == 21) + tty_add_features(features, "margins", ","); + if (p[i] == 28) + tty_add_features(features, "rectfill", ","); } break; } @@ -1405,11 +1400,6 @@ tty_keys_device_attributes2(struct tty *tty, const char *buf, size_t len, * we can't use level 5 from DA because of VTE. */ switch (p[0]) { - case 41: /* VT420 */ - case 61: /* VT510 */ - case 64: /* VT520 */ - tty_add_features(features, "margins,rectfill", ","); - break; case 'M': /* mintty */ tty_default_features(features, "mintty", 0); break;