st
simple terminal
git clone https://9o.is/git/st.git
commit 303776713d62219743c2b76d8f5f02036692382b parent 2561506e1e3f6198db12f3e23a92d06140d6f490 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(-)
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;