Make cursor follow text color - st - simple terminal HTML git clone https://git.parazyd.org/st DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit b51bcd5553af3db394014efbd78acf7828fa48ff DIR parent 1911c9274d9b03f3d7999c6ce26e2d5169642d26 HTML 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;