Introduction
Introduction Statistics Contact Development Disclaimer Help
tback to 3 colors - dwm - [fork] customized build of dwm, the dynamic window ma…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 9833610356f7ce033589680fddf87000e5788774
parent de7fc0011eccb546db1278fad41b684b3abaca18
Author: Anselm R. Garbe <[email protected]>
Date: Fri, 25 Aug 2006 07:54:49 +0200
back to 3 colors
Diffstat:
M config.arg.h | 7 +++----
M config.default.h | 7 +++----
M draw.c | 47 +++++++++++++++--------------…
M dwm.h | 5 +++--
M main.c | 7 +++----
5 files changed, 35 insertions(+), 38 deletions(-)
---
diff --git a/config.arg.h b/config.arg.h
t@@ -8,10 +8,9 @@ const char *tags[] = { "work", "net", "fnord", NULL };
#define DEFMODE dotile /* dofloat */
#define FONT "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso…
-#define NORMBGCOLOR "#666699"
-#define NORMFGCOLOR "#eeeeee"
-#define SELBGCOLOR "#eeeeee"
-#define SELFGCOLOR "#000088"
+#define BGCOLOR "#666699"
+#define FGCOLOR "#eeeeee"
+#define BORDERCOLOR "#9999CC"
#define MODKEY Mod1Mask
#define MASTERW 60 /* percent */
diff --git a/config.default.h b/config.default.h
t@@ -8,10 +8,9 @@ const char *tags[] = { "1", "2", "3", "4", "5", NULL };
#define DEFMODE dotile /* dofloat */
#define FONT "fixed"
-#define NORMBGCOLOR "#666699"
-#define NORMFGCOLOR "#eeeeee"
-#define SELBGCOLOR "#eeeeee"
-#define SELFGCOLOR "#666699"
+#define BGCOLOR "#666699"
+#define FGCOLOR "#eeeeee"
+#define BORDERCOLOR "#9999CC"
#define MODKEY Mod1Mask
#define MASTERW 60 /* percent */
diff --git a/draw.c b/draw.c
t@@ -22,15 +22,16 @@ textnw(const char *text, unsigned int len)
}
static void
-drawtext(const char *text, unsigned int colidx, Bool highlight)
+drawtext(const char *text, Bool invert, 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, dc.bg[colidx]);
+ XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg);
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
points[0].x = dc.x;
points[0].y = dc.y;
t@@ -42,7 +43,7 @@ drawtext(const char *text, unsigned int colidx, Bool highlig…
points[3].y = 0;
points[4].x = 0;
points[4].y = -(dc.h - 1);
- XSetForeground(dpy, dc.gc, dc.fg[colidx]);
+ XSetForeground(dpy, dc.gc, dc.border);
XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious);
if(!text)
t@@ -73,24 +74,22 @@ drawtext(const char *text, unsigned int colidx, Bool highl…
if(w > dc.w)
return; /* too long */
- if(dc.font.set)
+ 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);
XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf,…
+ }
else {
- XSetFont(dpy, dc.gc, dc.font.xfont->fid);
+ gcv.font = dc.font.xfont->fid;
+ XChangeGC(dpy, dc.gc, GCForeground | GCBackground | GCFont, &g…
XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
}
if(highlight) {
- points[0].x = dc.x + 1;
- points[0].y = dc.y + 1;
- points[1].x = dc.w - 3;
- points[1].y = 0;
- points[2].x = 0;
- points[2].y = dc.h - 3;
- points[3].x = -(dc.w - 3);
- points[3].y = 0;
- points[4].x = 0;
- points[4].y = -(dc.h - 3);
- XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevio…
+ r.x = dc.x + 2;
+ r.y = dc.y + 2;
+ r.width = r.height = 3;
+ XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
}
}
t@@ -114,16 +113,16 @@ drawstatus()
dc.x = dc.y = 0;
dc.w = bw;
- drawtext(NULL, istile ? 1 : 0, False);
+ drawtext(NULL, !istile, False);
dc.w = 0;
for(i = 0; i < ntags; i++) {
dc.x += dc.w;
dc.w = textw(tags[i]);
if(istile)
- drawtext(tags[i], seltag[i] ? 0 : 1, sel && sel->tags[…
+ drawtext(tags[i], seltag[i], sel && sel->tags[i]);
else
- drawtext(tags[i], seltag[i] ? 1 : 0, sel && sel->tags[…
+ drawtext(tags[i], !seltag[i], sel && sel->tags[i]);
}
x = dc.x + dc.w;
dc.w = textw(stext);
t@@ -132,11 +131,11 @@ drawstatus()
dc.x = x;
dc.w = bw - x;
}
- drawtext(stext, istile ? 1 : 0, False);
+ drawtext(stext, !istile, False);
if(sel && ((dc.w = dc.x - x) > bh)) {
dc.x = x;
- drawtext(sel->name, istile ? 0 : 1, False);
+ drawtext(sel->name, istile, False);
}
XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0);
XSync(dpy, False);
t@@ -151,15 +150,15 @@ drawtitle(Client *c)
if(c == sel && issel) {
drawstatus();
XUnmapWindow(dpy, c->twin);
- XSetWindowBorder(dpy, c->win, dc.fg[1]);
+ XSetWindowBorder(dpy, c->win, dc.fg);
return;
}
- XSetWindowBorder(dpy, c->win, dc.bg[0]);
+ XSetWindowBorder(dpy, c->win, dc.bg);
XMapWindow(dpy, c->twin);
dc.x = dc.y = 0;
dc.w = c->tw;
- drawtext(c->name, istile ? 1 : 0, False);
+ drawtext(c->name, !istile, False);
XCopyArea(dpy, dc.drawable, c->twin, dc.gc, 0, 0, c->tw, c->th, 0, 0);
XSync(dpy, False);
}
diff --git a/dwm.h b/dwm.h
t@@ -36,8 +36,9 @@ typedef struct {
typedef struct { /* draw context */
int x, y, w, h;
- unsigned long bg[2];
- unsigned long fg[2];
+ unsigned long bg;
+ unsigned long fg;
+ unsigned long border;
Drawable drawable;
Fnt font;
GC gc;
diff --git a/main.c b/main.c
t@@ -121,10 +121,9 @@ setup()
seltag[0] = True;
/* style */
- dc.bg[0] = getcolor(NORMBGCOLOR);
- dc.fg[0] = getcolor(NORMFGCOLOR);
- dc.bg[1] = getcolor(SELBGCOLOR);
- dc.fg[1] = getcolor(SELFGCOLOR);
+ dc.bg = getcolor(BGCOLOR);
+ dc.fg = getcolor(FGCOLOR);
+ dc.border = getcolor(BORDERCOLOR);
setfont(FONT);
sx = sy = 0;
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.