X-Git-Url: https://git.danieliu.xyz/?p=st.git;a=blobdiff_plain;f=x.c;h=ffd005fae1523bca102905cc13d86cf8f380dd92;hp=00cb6b18658a3c7864da76e850d2a8cf4009b84d;hb=1911c9274d9b03f3d7999c6ce26e2d5169642d26;hpb=29f341da7cf32888f45005e08de202d9a372d972 diff --git a/x.c b/x.c index 00cb6b1..ffd005f 100644 --- a/x.c +++ b/x.c @@ -1418,25 +1418,19 @@ 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 (IS_SET(MODE_REVERSE)) { - 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; - } + if (selected(cx, cy)) { + g.bg = defaultrcs; + g.fg = defaultfg; } else { - if (selected(cx, cy)) { - g.fg = defaultfg; - g.bg = defaultrcs; - } else { - g.fg = defaultbg; - g.bg = defaultcs; - } - drawcol = dc.col[g.bg]; + 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; } /* draw the new one */