- XSetBackground(xw.dpy, dc.gc, dc.col[bg]);
- XSetForeground(xw.dpy, dc.gc, dc.col[fg]);
+ if(IS_SET(MODE_REVERSE)) {
+ if(fg == &dc.xft_col[DefaultFG]) {
+ fg = &dc.xft_col[DefaultBG];
+ } else {
+ colfg.red = ~fg->color.red;
+ colfg.green = ~fg->color.green;
+ colfg.blue = ~fg->color.blue;
+ colfg.alpha = fg->color.alpha;
+ XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &revfg);
+ fg = &revfg;
+ }
+
+ if(bg == &dc.xft_col[DefaultBG]) {
+ bg = &dc.xft_col[DefaultFG];
+ } else {
+ colbg.red = ~bg->color.red;
+ colbg.green = ~bg->color.green;
+ colbg.blue = ~bg->color.blue;
+ colbg.alpha = bg->color.alpha;
+ XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colbg, &revbg);
+ bg = &revbg;
+ }
+ }