aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto E. Vargas Caballero <k0ga@shike2.com>2014-08-15 15:00:48 +0200
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2014-08-15 15:00:48 +0200
commitf8b4998b32cbabe2090dc8027720203d6cd2d24d (patch)
treefcc90aa6441f94391b7e0ede41f41ecf92a0f02d
parent6530025bcaf3a65083667a93ae50035bd7137bae (diff)
downloadst-f8b4998b32cbabe2090dc8027720203d6cd2d24d.tar.gz
st-f8b4998b32cbabe2090dc8027720203d6cd2d24d.zip
Convert VT102ID to a config variable
VT102ID is the sequence that the terminal returns when it is inquired to identify itself. This value should be configurable in the same way that another st parameters.
-rw-r--r--config.def.h3
-rw-r--r--st.c8
2 files changed, 6 insertions, 5 deletions
diff --git a/config.def.h b/config.def.h
index fadcfa0..53e8087 100644
--- a/config.def.h
+++ b/config.def.h
@@ -9,6 +9,9 @@ static char font[] = "Liberation Mono:pixelsize=12:antialias=false:autohint=fals
9static int borderpx = 2; 9static int borderpx = 2;
10static char shell[] = "/bin/sh"; 10static char shell[] = "/bin/sh";
11 11
12/* identification sequence returned in DA and DECID */
13static char vtiden[] = "\033[?6c";
14
12/* Kerning / character bounding-box multipliers */ 15/* Kerning / character bounding-box multipliers */
13static float cwscale = 1.0; 16static float cwscale = 1.0;
14static float chscale = 1.0; 17static float chscale = 1.0;
diff --git a/st.c b/st.c
index d8ff30b..6e5953a 100644
--- a/st.c
+++ b/st.c
@@ -86,8 +86,6 @@ char *argv0;
86#define TRUEBLUE(x) (((x) & 0xff) << 8) 86#define TRUEBLUE(x) (((x) & 0xff) << 8)
87 87
88 88
89#define VT102ID "\033[?6c"
90
91enum glyph_attribute { 89enum glyph_attribute {
92 ATTR_NULL = 0, 90 ATTR_NULL = 0,
93 ATTR_BOLD = 1, 91 ATTR_BOLD = 1,
@@ -1965,7 +1963,7 @@ csihandle(void) {
1965 break; 1963 break;
1966 case 'c': /* DA -- Device Attributes */ 1964 case 'c': /* DA -- Device Attributes */
1967 if(csiescseq.arg[0] == 0) 1965 if(csiescseq.arg[0] == 0)
1968 ttywrite(VT102ID, sizeof(VT102ID) - 1); 1966 ttywrite(vtiden, sizeof(vtiden) - 1);
1969 break; 1967 break;
1970 case 'C': /* CUF -- Cursor <n> Forward */ 1968 case 'C': /* CUF -- Cursor <n> Forward */
1971 case 'a': /* HPR -- Cursor <n> Forward */ 1969 case 'a': /* HPR -- Cursor <n> Forward */
@@ -2433,7 +2431,7 @@ tcontrolcode(uchar ascii) {
2433 case 0x98: /* TODO: SOS */ 2431 case 0x98: /* TODO: SOS */
2434 break; 2432 break;
2435 case 0x9a: /* DECID -- Identify Terminal */ 2433 case 0x9a: /* DECID -- Identify Terminal */
2436 ttywrite(VT102ID, sizeof(VT102ID) - 1); 2434 ttywrite(vtiden, sizeof(vtiden) - 1);
2437 break; 2435 break;
2438 case 0x9b: /* TODO: CSI */ 2436 case 0x9b: /* TODO: CSI */
2439 case 0x9c: /* TODO: ST */ 2437 case 0x9c: /* TODO: ST */
@@ -2589,7 +2587,7 @@ tputc(char *c, int len) {
2589 } 2587 }
2590 break; 2588 break;
2591 case 'Z': /* DECID -- Identify Terminal */ 2589 case 'Z': /* DECID -- Identify Terminal */
2592 ttywrite(VT102ID, sizeof(VT102ID) - 1); 2590 ttywrite(vtiden, sizeof(vtiden) - 1);
2593 break; 2591 break;
2594 case 'c': /* RIS -- Reset to inital state */ 2592 case 'c': /* RIS -- Reset to inital state */
2595 treset(); 2593 treset();