summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2026-04-10 11:10:30 -0400
committerGitHub <noreply@github.com>2026-04-10 11:10:30 -0400
commit48b8ee6e181643800fe83353ec554f503020a8fa (patch)
treeb0b1e31c8fdca531ae63ed3a4b85485f25a4f432
parent62ebf677d3ad79e0596ff610127df5db034cd234 (diff)
parent2c5b9ac2a1d14d97ef49fc6bf7580616bc2e90bf (diff)
Merge pull request #372 from maxtroeger/patch-1HEADmaster
Fix "Did not detect DSR response"
-rw-r--r--st.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/st.c b/st.c
index f1e0724..7256475 100644
--- a/st.c
+++ b/st.c
@@ -1852,11 +1852,18 @@ csihandle(void)
case 'm': /* SGR -- Terminal attribute (color) */
tsetattr(csiescseq.arg, csiescseq.narg);
break;
- case 'n': /* DSR – Device Status Report (cursor position) */
- if (csiescseq.arg[0] == 6) {
+ case 'n': /* DSR -- Device Status Report */
+ switch (csiescseq.arg[0]) {
+ case 5: /* Status Report "OK" `0n` */
+ ttywrite("\033[0n", sizeof("\033[0n") - 1, 0);
+ break;
+ case 6: /* Report Cursor Position (CPR) "<row>;<column>R" */
len = snprintf(buf, sizeof(buf), "\033[%i;%iR",
term.c.y+1, term.c.x+1);
ttywrite(buf, len, 0);
+ break;
+ default:
+ goto unknown;
}
break;
case 'r': /* DECSTBM -- Set Scrolling Region */