summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2023-09-08 10:01:10 +0100
committerThomas Adam <thomas@xteddy.org>2023-09-08 10:01:10 +0100
commitf68d35c52962c095e81db0de28219529fd6f355e (patch)
tree7dcee2a03038eca164c3738f3186d8eab484ee7a
parent1a1290f30b21bcc07e64eb7cb837a3c522779685 (diff)
parentc02bc4dbe9692fb8f698509a35c3abccf895f263 (diff)
Merge branch 'obsd-master'
-rw-r--r--format.c5
-rw-r--r--tty-keys.c27
2 files changed, 20 insertions, 12 deletions
diff --git a/format.c b/format.c
index 1362486e..a5039dfa 100644
--- a/format.c
+++ b/format.c
@@ -1126,7 +1126,6 @@ format_cb_mouse_word(struct format_tree *ft)
struct window_pane *wp;
struct grid *gd;
u_int x, y;
- char *s;
if (!ft->m.valid)
return (NULL);
@@ -1139,7 +1138,7 @@ format_cb_mouse_word(struct format_tree *ft)
if (!TAILQ_EMPTY(&wp->modes)) {
if (TAILQ_FIRST(&wp->modes)->mode == &window_copy_mode ||
TAILQ_FIRST(&wp->modes)->mode == &window_view_mode)
- return (s = window_copy_get_word(wp, x, y));
+ return (window_copy_get_word(wp, x, y));
return (NULL);
}
gd = wp->base.grid;
@@ -4185,7 +4184,7 @@ static char *
format_loop_clients(struct format_expand_state *es, const char *fmt)
{
struct format_tree *ft = es->ft;
- struct client *c = ft->client;
+ struct client *c;
struct cmdq_item *item = ft->item;
struct format_tree *nft;
struct format_expand_state next;
diff --git a/tty-keys.c b/tty-keys.c
index 3a8b779e..ef80abc4 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -1315,15 +1315,21 @@ tty_keys_device_attributes(struct tty *tty, const char *buf, size_t len,
}
/*
- * Add terminal features. Technically, VT420 and VT525 do not support
- * SIXEL, but some modern terminals report it anyway so we accept it
- * here too.
+ * 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.
*/
switch (p[0]) {
- case 62: /* VT220 */
- case 63: /* VT320 */
- case 64: /* VT420 */
- case 65: /* VT525 */
+ case 64: /* level 4 */
+ tty_add_features(features, "margins,rectfill", ",");
+ /* FALLTHROUGH */
+ case 62: /* level 2 */
+ case 63: /* level 3 */
+ case 65: /* level 5 */
for (i = 1; i < n; i++) {
log_debug("%s: DA feature: %d", c->name, p[i]);
if (p[i] == 4)
@@ -1393,12 +1399,15 @@ tty_keys_device_attributes2(struct tty *tty, const char *buf, size_t len,
break;
}
- /* Add terminal features. */
+ /*
+ * Add terminal features. We add DECSLRM and DECFRA for some
+ * identification codes here, notably 64 will catch VT520, even though
+ * we can't use level 5 from DA because of VTE.
+ */
switch (p[0]) {
case 41: /* VT420 */
case 61: /* VT510 */
case 64: /* VT520 */
- case 65: /* VT525 */
tty_add_features(features, "margins,rectfill", ",");
break;
case 'M': /* mintty */