3->4 colors
Anselm R. Garbe arg@10kloc.org
Thu, 24 Aug 2006 12:04:56 +0200
6 files changed,
22 insertions(+),
26 deletions(-)
M
config.arg.h
→
config.arg.h
@@ -8,9 +8,10 @@ const char *tags[] = { "work", "net", "fnord", NULL };
#define DEFMODE dotile /* dofloat */ #define FONT "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso10646-*" -#define BGCOLOR "#666699" -#define FGCOLOR "#eeeeee" -#define BORDERCOLOR "#9999CC" +#define NORMBGCOLOR "#666699" +#define NORMFGCOLOR "#eeeeee" +#define SELBGCOLOR "#eeeeee" +#define SELFGCOLOR "#000088" #define MODKEY Mod1Mask #define MASTERW 60 /* percent */
M
config.default.h
→
config.default.h
@@ -8,9 +8,10 @@ const char *tags[] = { "1", "2", "3", "4", "5", NULL };
#define DEFMODE dotile /* dofloat */ #define FONT "fixed" -#define BGCOLOR "#666699" -#define FGCOLOR "#eeeeee" -#define BORDERCOLOR "#9999CC" +#define NORMBGCOLOR "#666699" +#define NORMFGCOLOR "#eeeeee" +#define SELBGCOLOR "#eeeeee" +#define SELFGCOLOR "#666699" #define MODKEY Mod1Mask #define MASTERW 60 /* percent */
M
draw.c
→
draw.c
@@ -22,16 +22,15 @@ return XTextWidth(dc.font.xfont, text, len);
} static void -drawtext(const char *text, Bool invert, Bool highlight) +drawtext(const char *text, unsigned int colidx, Bool highlight) { int x, y, w, h; static char buf[256]; unsigned int len, olen; - XGCValues gcv; XPoint points[5]; XRectangle r = { dc.x, dc.y, dc.w, dc.h }; - XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg); + XSetForeground(dpy, dc.gc, dc.bg[colidx]); XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); points[0].x = dc.x; points[0].y = dc.y;@@ -43,7 +42,7 @@ points[3].x = -(dc.w - 1);
points[3].y = 0; points[4].x = 0; points[4].y = -(dc.h - 1); - XSetForeground(dpy, dc.gc, dc.border); + XSetForeground(dpy, dc.gc, dc.fg[colidx]); XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); if(!text)@@ -74,15 +73,10 @@ }
if(w > dc.w) return; /* too long */ - gcv.foreground = invert ? dc.bg : dc.fg; - gcv.background = invert ? dc.fg : dc.bg; - if(dc.font.set) { - XChangeGC(dpy, dc.gc, GCForeground | GCBackground, &gcv); + if(dc.font.set) XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len); - } else { - gcv.font = dc.font.xfont->fid; - XChangeGC(dpy, dc.gc, GCForeground | GCBackground | GCFont, &gcv); + XSetFont(dpy, dc.gc, dc.font.xfont->fid); XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); } if(highlight) {@@ -157,11 +151,11 @@
if(c == sel && issel) { drawstatus(); XUnmapWindow(dpy, c->twin); - XSetWindowBorder(dpy, c->win, dc.fg); + XSetWindowBorder(dpy, c->win, dc.fg[1]); return; } - XSetWindowBorder(dpy, c->win, dc.bg); + XSetWindowBorder(dpy, c->win, dc.bg[0]); XMapWindow(dpy, c->twin); dc.x = dc.y = 0; dc.w = c->tw;
M
main.c
→
main.c
@@ -121,9 +121,10 @@ seltag = emallocz(sizeof(Bool) * ntags);
seltag[0] = True; /* style */ - dc.bg = getcolor(BGCOLOR); - dc.fg = getcolor(FGCOLOR); - dc.border = getcolor(BORDERCOLOR); + dc.bg[0] = getcolor(NORMBGCOLOR); + dc.fg[0] = getcolor(NORMFGCOLOR); + dc.bg[1] = getcolor(SELBGCOLOR); + dc.fg[1] = getcolor(SELFGCOLOR); setfont(FONT); sx = sy = 0;