X-Git-Url: https://git.danieliu.xyz/?p=st.git;a=blobdiff_plain;f=x.c;h=00cb6b18658a3c7864da76e850d2a8cf4009b84d;hp=ffd005fae1523bca102905cc13d86cf8f380dd92;hb=4f4bccd1627c845330235721f593d2e93418723d;hpb=8ed7a4b3b755407a7724a586ef224051bc306f4f diff --git a/x.c b/x.c index ffd005f..00cb6b1 100644 --- a/x.c +++ b/x.c @@ -1418,19 +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)) { - g.bg = defaultrcs; - g.fg = defaultfg; - } else { - g.bg = defaultcs; - g.fg = defaultbg; - } - drawcol = dc.col[g.bg]; - if (IS_SET(MODE_REVERSE)) { - drawcol.color.red = ~drawcol.color.red; - drawcol.color.green = ~drawcol.color.green; - drawcol.color.blue = ~drawcol.color.blue; + g.mode |= ATTR_REVERSE; + g.bg = defaultfg; + if (selected(cx, cy)) { + drawcol = dc.col[defaultcs]; + g.fg = defaultrcs; + } else { + drawcol = dc.col[defaultrcs]; + g.fg = defaultcs; + } + } else { + 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 */