Reverse the cursor on selection. - 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 2677296147fe658376be67821449b8f232c65064
 (DIR) parent 5ece2b5f4a2e56ddfb82e797dc973fca38c5273d
 (HTM) Author: Christoph Lohmann <20h@r-36.net>
       Date:   Mon,  5 Oct 2015 21:06:42 +0200
       
       Reverse the cursor on selection.
       
       Diffstat:
         M st.c                                |       3 +++
       
       1 file changed, 3 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -3828,6 +3828,7 @@ xdrawcursor(void)
                static int oldx = 0, oldy = 0;
                int curx;
                Glyph g = {' ', ATTR_NULL, defaultbg, defaultcs};
       +        int ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN);
        
                LIMIT(oldx, 0, term.col-1);
                LIMIT(oldy, 0, term.row-1);
       @@ -3841,6 +3842,8 @@ xdrawcursor(void)
                        curx--;
        
                g.u = term.line[term.c.y][term.c.x].u;
       +        if (ena_sel && selected(term.c.x, term.c.y))
       +                g.mode ^= ATTR_REVERSE;
        
                /* remove the old cursor */
                xdrawglyph(term.line[oldy][oldx], oldx, oldy);