Mercurial > aewl
changeset 350:b10852dbbffe
3->4 colors
author | Anselm R. Garbe <arg@10kloc.org> |
---|---|
date | Thu, 24 Aug 2006 12:04:56 +0200 (2006-08-24) |
parents | 2bc2746a52c3 |
children | d822b5fbe11e |
files | config.arg.h config.default.h config.mk draw.c dwm.h main.c |
diffstat | 6 files changed, 22 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- 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 */
--- 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 */
--- 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
--- 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;
--- 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;
--- 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;