st

simple terminal
git clone git://git.suckless.org/st
Log | Files | Refs | README | LICENSE

commit b51bcd5553af3db394014efbd78acf7828fa48ff
parent 1911c9274d9b03f3d7999c6ce26e2d5169642d26
Author: Jules Maselbas <jules.maselbas@grenoble-inp.org>
Date:   Sat, 14 Jul 2018 11:16:37 +0200

Make cursor follow text color

Diffstat:
config.def.h | 2--
x.c | 12+++++++-----
2 files changed, 7 insertions(+), 7 deletions(-)

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 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;