URI: 
       Add TBC sequence - st - simple terminal
  HTML git clone https://git.parazyd.org/st
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit c084c06b402de4fe995734a2c89cae26ff7c9064
   DIR parent 93901ca4fee8a1ab71cb8b918f3d65404460f9ce
  HTML Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
       Date:   Wed, 29 Aug 2012 19:59:47 +0200
       
       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(-)
       Diffstat:
         M st.c                                |      12 ++++++++++++
         M st.info                             |       2 +-
       
       2 files changed, 13 insertions(+), 1 deletion(-)
       ---
   DIR diff --git 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);
   DIR diff --git 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,