tAdd DA and DECID sequences - st - [fork] customized build of st, the simple te… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit ffeeb678c5c6c6b895ad494b5b62195dd9893f65 | |
parent bffa6e5cc612dcead2d6ff3803ec72cb69c151bd | |
Author: Roberto E. Vargas Caballero <[email protected]> | |
Date: Sat, 6 Oct 2012 21:19:56 +0200 | |
Add DA and DECID sequences | |
These sequences are used by the host in order to can detect which kind of | |
tterminal is connected. St will answer like a vt102 terminal with this patch. | |
--- | |
st.c | 9 +++++++++ | |
1 file changed, 9 insertions(+) | |
Diffstat: | |
M st.c | 9 +++++++++ | |
1 file changed, 9 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -72,6 +72,8 @@ | |
#define X2COL(x) (((x) - BORDER)/xw.cw) | |
#define Y2ROW(y) (((y) - BORDER)/xw.ch) | |
+#define VT102ID "\033[?6c" | |
+ | |
enum glyph_attribute { | |
ATTR_NULL = 0, | |
ATTR_REVERSE = 1, | |
t@@ -1510,6 +1512,10 @@ csihandle(void) { | |
DEFAULT(csiescseq.arg[0], 1); | |
tmoveto(term.c.x, term.c.y+csiescseq.arg[0]); | |
break; | |
+ case 'c': /* DA -- Device Attributes */ | |
+ if(csiescseq.arg[0] == 0) | |
+ ttywrite(VT102ID, sizeof(VT102ID)); | |
+ break; | |
case 'C': /* CUF -- Cursor <n> Forward */ | |
case 'a': | |
DEFAULT(csiescseq.arg[0], 1); | |
t@@ -1933,6 +1939,9 @@ tputc(char *c, int len) { | |
} | |
term.esc = 0; | |
break; | |
+ case 'Z': /* DECID -- Identify Terminal */ | |
+ ttywrite(VT102ID, sizeof(VT102ID)); | |
+ break; | |
case 'c': /* RIS -- Reset to inital state */ | |
treset(); | |
term.esc = 0; |