[hackers] [st] Add TBC sequence || "Roberto E. Vargas Caballero"

From: <hg_AT_suckless.org>
Date: Wed, 29 Aug 2012 20:13:25 +0200 (CEST)

changeset: 249:65fd8a5ef0d8
user: "Roberto E. Vargas Caballero" <k0ga_AT_shike2.com>
date: Wed Aug 29 19:59:47 2012 +0200
files: st.c st.info
description:
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_AT_shike2.com>
---
 st.c    |   12 ++++++++++++
 st.info |    2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)
diff -r 8e8a1084318d -r 65fd8a5ef0d8 st.c
--- a/st.c	Wed Aug 29 19:59:43 2012 +0200
+++ b/st.c	Wed Aug 29 19:59:47 2012 +0200
_AT_@ -1203,6 +1203,18 @@
 		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 -r 8e8a1084318d -r 65fd8a5ef0d8 st.info
--- a/st.info	Wed Aug 29 19:59:43 2012 +0200
+++ b/st.info	Wed Aug 29 19:59:47 2012 +0200
_AT_@ -97,7 +97,7 @@
 	smcup=\E[?1049h,
 	smso=\E[7m,
 	smul=\E[4m,
-	tbc=\E[2g,
+	tbc=\E[3g,
 	tsl=\E]0;,
 	ul,
 	xenl,
Received on Wed Aug 29 2012 - 20:13:25 CEST

This archive was generated by hypermail 2.3.0 : Wed Aug 29 2012 - 20:24:07 CEST