# HG changeset patch # User Anselm R. Garbe # Date 1156413896 -7200 # Node ID b10852dbbffe96a816e438db0ed2f6e9e03d0bc9 # Parent 2bc2746a52c34544cfe54988bb553f58d4ebb434 3->4 colors diff -r 2bc2746a52c3 -r b10852dbbffe config.arg.h --- a/config.arg.h Thu Aug 24 10:28:50 2006 +0200 +++ b/config.arg.h Thu Aug 24 12:04:56 2006 +0200 @@ -8,9 +8,10 @@ #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 */ diff -r 2bc2746a52c3 -r b10852dbbffe config.default.h --- a/config.default.h Thu Aug 24 10:28:50 2006 +0200 +++ b/config.default.h Thu Aug 24 12:04:56 2006 +0200 @@ -8,9 +8,10 @@ #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 */ diff -r 2bc2746a52c3 -r b10852dbbffe config.mk --- a/config.mk Thu Aug 24 10:28:50 2006 +0200 +++ b/config.mk Thu Aug 24 12:04:56 2006 +0200 @@ -1,5 +1,5 @@ # dwm version -VERSION = 1.0 +VERSION = 1.1 # Customize below to fit your system diff -r 2bc2746a52c3 -r b10852dbbffe draw.c --- a/draw.c Thu Aug 24 10:28:50 2006 +0200 +++ b/draw.c Thu Aug 24 12:04:56 2006 +0200 @@ -22,16 +22,15 @@ } 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].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; diff -r 2bc2746a52c3 -r b10852dbbffe dwm.h --- a/dwm.h Thu Aug 24 10:28:50 2006 +0200 +++ b/dwm.h Thu Aug 24 12:04:56 2006 +0200 @@ -36,9 +36,8 @@ typedef struct { /* draw context */ int x, y, w, h; - unsigned long bg; - unsigned long fg; - unsigned long border; + unsigned long bg[2]; + unsigned long fg[2]; Drawable drawable; Fnt font; GC gc; diff -r 2bc2746a52c3 -r b10852dbbffe main.c --- a/main.c Thu Aug 24 10:28:50 2006 +0200 +++ b/main.c Thu Aug 24 12:04:56 2006 +0200 @@ -121,9 +121,10 @@ 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;