X-Git-Url: https://git.danieliu.xyz/?p=st.git;a=blobdiff_plain;f=x.c;h=00cb6b18658a3c7864da76e850d2a8cf4009b84d;hp=4155a703ecdae595ce629281f15e80e7de498ba1;hb=67d0cb65d0794e2d91e72e5fa1e3612172e5812e;hpb=5535c1f04c665c05faff2a65d5558246b7748d49 diff --git a/x.c b/x.c index 4155a70..00cb6b1 100644 --- a/x.c +++ b/x.c @@ -1404,7 +1404,6 @@ void xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) { Color drawcol; - uint32_t cc; /* remove the old cursor */ if (selected(ox, oy)) @@ -1419,29 +1418,25 @@ 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)) { - cc = g.bg; - } else { + if (IS_SET(MODE_REVERSE)) { g.mode |= ATTR_REVERSE; - if (g.mode & ATTR_BOLD && BETWEEN(g.fg, 0, 7)) - cc = g.fg + 8; - else - cc = g.fg; - } - - if (IS_TRUECOL(cc)) { - drawcol.color.alpha = 0xffff; - drawcol.color.red = TRUERED(cc); - drawcol.color.green = TRUEGREEN(cc); - drawcol.color.blue = TRUEBLUE(cc); + g.bg = defaultfg; + if (selected(cx, cy)) { + drawcol = dc.col[defaultcs]; + g.fg = defaultrcs; + } else { + drawcol = dc.col[defaultrcs]; + g.fg = defaultcs; + } } else { - drawcol = dc.col[cc]; - } - - if (IS_SET(MODE_REVERSE)) { - drawcol.color.red = ~drawcol.color.red; - drawcol.color.green = ~drawcol.color.green; - drawcol.color.blue = ~drawcol.color.blue; + if (selected(cx, cy)) { + g.fg = defaultfg; + g.bg = defaultrcs; + } else { + g.fg = defaultbg; + g.bg = defaultcs; + } + drawcol = dc.col[g.bg]; } /* draw the new one */