Adding scrollwheel support. Thanks Brandon Invergo! - 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 5d39afc9023bc9a692ba6faf590abf9397a890ae
 (DIR) parent 9df1e56142527de1b8917434093d25212dd9da1e
 (HTM) Author: Christoph Lohmann <20h@r-36.net>
       Date:   Tue,  6 Nov 2012 23:44:37 +0100
       
       Adding scrollwheel support. Thanks Brandon Invergo!
       
       Diffstat:
         M st.c                                |      19 ++++++++++++-------
       
       1 file changed, 12 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -673,6 +673,10 @@ bpress(XEvent *e) {
                        sel.mode = 1;
                        sel.ex = sel.bx = x2col(e->xbutton.x);
                        sel.ey = sel.by = y2row(e->xbutton.y);
       +        } else if(e->xbutton.button == Button4) {
       +                ttywrite("\031", 1);
       +        } else if(e->xbutton.button == Button5) {
       +                ttywrite("\005", 1);
                }
        }
        
       @@ -1834,8 +1838,8 @@ tputc(char *c, int len) {
                        }
                }
                /*
       -         * STR sequences must be checked before of anything
       -         * because it can use some control codes as part of the sequence
       +         * STR sequences must be checked before anything else
       +         * because it can use some control codes as part of the sequence.
                 */
                if(term.esc & ESC_STR) {
                        switch(ascii) {
       @@ -1855,6 +1859,7 @@ tputc(char *c, int len) {
                        }
                        return;
                }
       +
                /*
                 * Actions of control codes must be performed as soon they arrive
                 * because they can be embedded inside a control sequence, and
       @@ -1895,11 +1900,11 @@ tputc(char *c, int len) {
                        case '\030':        /* CAN */
                                csireset();
                                return;
       -                 case '\005':        /* ENQ (IGNORED) */
       -                 case '\000':        /* NUL (IGNORED) */
       -                 case '\021':        /* XON (IGNORED) */
       -                 case '\023':        /* XOFF (IGNORED) */
       -                 case 0177:        /* DEL (IGNORED) */
       +                case '\005':        /* ENQ (IGNORED) */
       +                case '\000':        /* NUL (IGNORED) */
       +                case '\021':        /* XON (IGNORED) */
       +                case '\023':        /* XOFF (IGNORED) */
       +                case 0177:        /* DEL (IGNORED) */
                                return;
                        }
                } else if(term.esc & ESC_START) {