Make cursor follow text color - 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 b51bcd5553af3db394014efbd78acf7828fa48ff
 (DIR) parent 1911c9274d9b03f3d7999c6ce26e2d5169642d26
 (HTM) Author: Jules Maselbas <jules.maselbas@grenoble-inp.org>
       Date:   Sat, 14 Jul 2018 11:16:37 +0200
       
       Make cursor follow text color
       
       Diffstat:
         M config.def.h                        |       2 --
         M x.c                                 |      12 +++++++-----
       
       2 files changed, 7 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/config.def.h b/config.def.h
       @@ -118,8 +118,6 @@ static const char *colorname[] = {
         */
        unsigned int defaultfg = 7;
        unsigned int defaultbg = 0;
       -static unsigned int defaultcs = 256;
       -static unsigned int defaultrcs = 257;
        
        /*
         * Default shape of cursor
 (DIR) diff --git a/x.c b/x.c
       @@ -1419,13 +1419,15 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
                g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE;
        
                if (selected(cx, cy)) {
       -                g.bg = defaultrcs;
       -                g.fg = defaultfg;
       +                drawcol = dc.col[g.bg];
                } else {
       -                g.bg = defaultcs;
       -                g.fg = defaultbg;
       +                g.mode |= ATTR_REVERSE;
       +
       +                if (g.mode & ATTR_BOLD && BETWEEN(g.fg, 0, 7))
       +                        drawcol = dc.col[g.fg + 8];
       +                else
       +                        drawcol = dc.col[g.fg];
                }
       -        drawcol = dc.col[g.bg];
        
                if (IS_SET(MODE_REVERSE)) {
                        drawcol.color.red = ~drawcol.color.red;