aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--st.c12
-rw-r--r--st.info2
2 files changed, 13 insertions, 1 deletions
diff --git a/st.c b/st.c
index 4b7e4eb..b7dfd55 100644
--- a/st.c
+++ b/st.c
@@ -1203,6 +1203,18 @@ csihandle(void) {
DEFAULT(escseq.arg[0], 1);
tmoveto(0, term.c.y-escseq.arg[0]);
break;
+ case 'g': /* TBC -- Tabulation clear */
+ switch (escseq.arg[0]) {
+ case 0: /* clear current tab stop */
+ term.tabs[term.c.x] = 0;
+ break;
+ case 3: /* clear all the tabs */
+ memset(term.tabs, 0, term.col * sizeof(*term.tabs));
+ break;
+ default:
+ goto unknown;
+ }
+ break;
case 'G': /* CHA -- Move to <col> */
case '`': /* XXX: HPA -- same? */
DEFAULT(escseq.arg[0], 1);
diff --git a/st.info b/st.info
index ea67039..d8e3d0d 100644
--- a/st.info
+++ b/st.info
@@ -97,7 +97,7 @@ st| simpleterm,
smcup=\E[?1049h,
smso=\E[7m,
smul=\E[4m,
- tbc=\E[2g,
+ tbc=\E[3g,
tsl=\E]0;,
ul,
xenl,
remember that computers suck.