Add DA and DECID sequences - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit ffeeb678c5c6c6b895ad494b5b62195dd9893f65
 (DIR) parent bffa6e5cc612dcead2d6ff3803ec72cb69c151bd
 (HTM) Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
       Date:   Sat,  6 Oct 2012 21:19:56 +0200
       
       Add DA and DECID sequences
       
       These sequences are used by the host in order to can detect which kind of
       terminal is connected. St will answer like a vt102 terminal with this patch.
       ---
        st.c |    9 +++++++++
        1 file changed, 9 insertions(+)
       Diffstat:
         M st.c                                |       9 +++++++++
       
       1 file changed, 9 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -72,6 +72,8 @@
        #define X2COL(x) (((x) - BORDER)/xw.cw)
        #define Y2ROW(y) (((y) - BORDER)/xw.ch)
        
       +#define VT102ID "\033[?6c"
       +
        enum glyph_attribute {
                ATTR_NULL      = 0,
                ATTR_REVERSE   = 1,
       @@ -1510,6 +1512,10 @@ csihandle(void) {
                        DEFAULT(csiescseq.arg[0], 1);
                        tmoveto(term.c.x, term.c.y+csiescseq.arg[0]);
                        break;
       +        case 'c': /* DA -- Device Attributes */
       +                if(csiescseq.arg[0] == 0)
       +                        ttywrite(VT102ID, sizeof(VT102ID));
       +                break;
                case 'C': /* CUF -- Cursor <n> Forward */
                case 'a':
                        DEFAULT(csiescseq.arg[0], 1);
       @@ -1933,6 +1939,9 @@ tputc(char *c, int len) {
                                        }
                                        term.esc = 0;
                                        break;
       +                        case 'Z': /* DECID -- Identify Terminal */
       +                                ttywrite(VT102ID, sizeof(VT102ID));
       +                                break;
                                case 'c': /* RIS -- Reset to inital state */
                                        treset();
                                        term.esc = 0;