aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2020-06-17 22:05:48 +0200
committerHiltjo Posthuma <hiltjo@codemadness.org>2020-06-17 23:49:22 +0200
commitf74a9df6e1fc88eebe6d673d888b61fd83cf6fc4 (patch)
treee73f68351de87490934a184934b0e896850783e8
parent818ec746f4caae453d09368b101c3e841cf39870 (diff)
downloadst-patched-f74a9df6e1fc88eebe6d673d888b61fd83cf6fc4.tar.bz2
st-patched-f74a9df6e1fc88eebe6d673d888b61fd83cf6fc4.tar.xz
st-patched-f74a9df6e1fc88eebe6d673d888b61fd83cf6fc4.zip
remove sixel stub code
Remove stub code that was used for an experiment of adding sixel code to st from the commit f7398434.
-rw-r--r--st.c26
1 files changed, 5 insertions, 21 deletions
diff --git a/st.c b/st.c
index b5b805a..76b7e0d 100644
--- a/st.c
+++ b/st.c
@@ -51,7 +51,6 @@ enum term_mode {
51 MODE_ECHO = 1 << 4, 51 MODE_ECHO = 1 << 4,
52 MODE_PRINT = 1 << 5, 52 MODE_PRINT = 1 << 5,
53 MODE_UTF8 = 1 << 6, 53 MODE_UTF8 = 1 << 6,
54 MODE_SIXEL = 1 << 7,
55}; 54};
56 55
57enum cursor_movement { 56enum cursor_movement {
@@ -78,12 +77,11 @@ enum charset {
78enum escape_state { 77enum escape_state {
79 ESC_START = 1, 78 ESC_START = 1,
80 ESC_CSI = 2, 79 ESC_CSI = 2,
81 ESC_STR = 4, /* OSC, PM, APC */ 80 ESC_STR = 4, /* DCS, OSC, PM, APC */
82 ESC_ALTCHARSET = 8, 81 ESC_ALTCHARSET = 8,
83 ESC_STR_END = 16, /* a final string was encountered */ 82 ESC_STR_END = 16, /* a final string was encountered */
84 ESC_TEST = 32, /* Enter in test mode */ 83 ESC_TEST = 32, /* Enter in test mode */
85 ESC_UTF8 = 64, 84 ESC_UTF8 = 64,
86 ESC_DCS =128,
87}; 85};
88 86
89typedef struct { 87typedef struct {
@@ -2090,12 +2088,9 @@ tdectest(char c)
2090void 2088void
2091tstrsequence(uchar c) 2089tstrsequence(uchar c)
2092{ 2090{
2093 strreset();
2094
2095 switch (c) { 2091 switch (c) {
2096 case 0x90: /* DCS -- Device Control String */ 2092 case 0x90: /* DCS -- Device Control String */
2097 c = 'P'; 2093 c = 'P';
2098 term.esc |= ESC_DCS;
2099 break; 2094 break;
2100 case 0x9f: /* APC -- Application Program Command */ 2095 case 0x9f: /* APC -- Application Program Command */
2101 c = '_'; 2096 c = '_';
@@ -2107,6 +2102,7 @@ tstrsequence(uchar c)
2107 c = ']'; 2102 c = ']';
2108 break; 2103 break;
2109 } 2104 }
2105 strreset();
2110 strescseq.type = c; 2106 strescseq.type = c;
2111 term.esc |= ESC_STR; 2107 term.esc |= ESC_STR;
2112} 2108}
@@ -2304,7 +2300,7 @@ tputc(Rune u)
2304 Glyph *gp; 2300 Glyph *gp;
2305 2301
2306 control = ISCONTROL(u); 2302 control = ISCONTROL(u);
2307 if (u < 127 || !IS_SET(MODE_UTF8 | MODE_SIXEL)) { 2303 if (u < 127 || !IS_SET(MODE_UTF8)) {
2308 c[0] = u; 2304 c[0] = u;
2309 width = len = 1; 2305 width = len = 1;
2310 } else { 2306 } else {
@@ -2325,23 +2321,11 @@ tputc(Rune u)
2325 if (term.esc & ESC_STR) { 2321 if (term.esc & ESC_STR) {
2326 if (u == '\a' || u == 030 || u == 032 || u == 033 || 2322 if (u == '\a' || u == 030 || u == 032 || u == 033 ||
2327 ISCONTROLC1(u)) { 2323 ISCONTROLC1(u)) {
2328 term.esc &= ~(ESC_START|ESC_STR|ESC_DCS); 2324 term.esc &= ~(ESC_START|ESC_STR);
2329 if (IS_SET(MODE_SIXEL)) {
2330 /* TODO: render sixel */;
2331 term.mode &= ~MODE_SIXEL;
2332 return;
2333 }
2334 term.esc |= ESC_STR_END; 2325 term.esc |= ESC_STR_END;
2335 goto check_control_code; 2326 goto check_control_code;
2336 } 2327 }
2337 2328
2338 if (IS_SET(MODE_SIXEL)) {
2339 /* TODO: implement sixel mode */
2340 return;
2341 }
2342 if (term.esc&ESC_DCS && strescseq.len == 0 && u == 'q')
2343 term.mode |= MODE_SIXEL;
2344
2345 if (strescseq.len+len >= strescseq.siz) { 2329 if (strescseq.len+len >= strescseq.siz) {
2346 /* 2330 /*
2347 * Here is a bug in terminals. If the user never sends 2331 * Here is a bug in terminals. If the user never sends
@@ -2453,7 +2437,7 @@ twrite(const char *buf, int buflen, int show_ctrl)
2453 int n; 2437 int n;
2454 2438
2455 for (n = 0; n < buflen; n += charsize) { 2439 for (n = 0; n < buflen; n += charsize) {
2456 if (IS_SET(MODE_UTF8) && !IS_SET(MODE_SIXEL)) { 2440 if (IS_SET(MODE_UTF8)) {
2457 /* process a complete utf8 char */ 2441 /* process a complete utf8 char */
2458 charsize = utf8decode(buf + n, &u, buflen - n); 2442 charsize = utf8decode(buf + n, &u, buflen - n);
2459 if (charsize == 0) 2443 if (charsize == 0)