aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto E. Vargas Caballero <k0ga@shike2.com>2012-08-29 19:59:47 +0200
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2012-08-29 19:59:47 +0200
commitc084c06b402de4fe995734a2c89cae26ff7c9064 (patch)
treeba821f615c95a380ff5376f60dbbc12093caba6a
parent93901ca4fee8a1ab71cb8b918f3d65404460f9ce (diff)
downloadst-c084c06b402de4fe995734a2c89cae26ff7c9064.tar.gz
st-c084c06b402de4fe995734a2c89cae26ff7c9064.zip
Add TBC sequence
This sequence clears tab stops in the terminal. If the argument is not present or is zero, then removes the tab stop of the current horizontal position. If the argument is 3 then removes all the tab stops of the terminal. It was necessary modify the terminfo entry tbc, because it has \E[2g instead of the correct \E[3g. Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com> --- st.c | 12 ++++++++++++ st.info | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-)
-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) {
1203 DEFAULT(escseq.arg[0], 1); 1203 DEFAULT(escseq.arg[0], 1);
1204 tmoveto(0, term.c.y-escseq.arg[0]); 1204 tmoveto(0, term.c.y-escseq.arg[0]);
1205 break; 1205 break;
1206 case 'g': /* TBC -- Tabulation clear */
1207 switch (escseq.arg[0]) {
1208 case 0: /* clear current tab stop */
1209 term.tabs[term.c.x] = 0;
1210 break;
1211 case 3: /* clear all the tabs */
1212 memset(term.tabs, 0, term.col * sizeof(*term.tabs));
1213 break;
1214 default:
1215 goto unknown;
1216 }
1217 break;
1206 case 'G': /* CHA -- Move to <col> */ 1218 case 'G': /* CHA -- Move to <col> */
1207 case '`': /* XXX: HPA -- same? */ 1219 case '`': /* XXX: HPA -- same? */
1208 DEFAULT(escseq.arg[0], 1); 1220 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,
97 smcup=\E[?1049h, 97 smcup=\E[?1049h,
98 smso=\E[7m, 98 smso=\E[7m,
99 smul=\E[4m, 99 smul=\E[4m,
100 tbc=\E[2g, 100 tbc=\E[3g,
101 tsl=\E]0;, 101 tsl=\E]0;,
102 ul, 102 ul,
103 xenl, 103 xenl,