tgeoms are now drawed in the status bar - dwm - [fork] customized build of dwm,… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit fe6b0c0fc17d70e1c0f002e397bd2d3ac152ede0 | |
parent aa2395b6a81475b44dd74618fb7f0b40305e10bb | |
Author: Anselm R Garbe <[email protected]> | |
Date: Mon, 17 Mar 2008 16:26:06 +0000 | |
geoms are now drawed in the status bar | |
Diffstat: | |
M config.def.h | 8 ++++---- | |
M dwm.c | 16 ++++++++++++---- | |
2 files changed, 16 insertions(+), 8 deletions(-) | |
--- | |
diff --git a/config.def.h b/config.def.h | |
t@@ -28,8 +28,8 @@ DEFGEOM(dual, 0, 0,1280, 0, bh, ww, wh-bh, wx, wy, 1280,… | |
Geom geoms[] = { | |
/* symbol function */ | |
- { "[]", single }, /* first entry is default */ | |
- { "[][]", dual }, | |
+ { "<>", single }, /* first entry is default */ | |
+ { ")(", dual }, | |
}; | |
/* layout(s) */ | |
t@@ -48,8 +48,8 @@ Layout layouts[] = { | |
#define MODKEY Mod1Mask | |
Key keys[] = { | |
/* modifier key function … | |
- { MODKEY, XK_a, setgeom, … | |
- { MODKEY, XK_d, setgeom, … | |
+ { MODKEY, XK_a, setgeom, … | |
+ { MODKEY, XK_d, setgeom, … | |
{ MODKEY, XK_p, spawn, | |
"exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGC… | |
{ MODKEY|ShiftMask, XK_Return, spawn, "exec uxte… | |
diff --git a/dwm.c b/dwm.c | |
t@@ -210,7 +210,7 @@ void zoom(const char *arg); | |
char stext[256], buf[256]; | |
int screen, sx, sy, sw, sh; | |
int (*xerrorxlib)(Display *, XErrorEvent *); | |
-int bx, by, bw, bh, blw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, w… | |
+int bx, by, bw, bh, blw, bgw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, … | |
unsigned int numlockmask = 0; | |
void (*handler[LASTEvent]) (XEvent *) = { | |
[ButtonPress] = buttonpress, | |
t@@ -322,10 +322,10 @@ buttonpress(XEvent *e) { | |
XButtonPressedEvent *ev = &e->xbutton; | |
if(ev->window == barwin) { | |
- x = 0; | |
+ x = bgw; | |
for(i = 0; i < LENGTH(tags); i++) { | |
x += textw(tags[i]); | |
- if(ev->x < x) { | |
+ if(ev->x > bgw && ev->x < x) { | |
if(ev->button == Button1) { | |
if(ev->state & MODKEY) | |
tag(tags[i]); | |
t@@ -514,6 +514,9 @@ drawbar(void) { | |
Client *c; | |
dc.x = 0; | |
+ dc.w = bgw; | |
+ drawtext(geom->symbol, dc.norm, False); | |
+ dc.x += bgw; | |
for(c = stack; c && !isvisible(c); c = c->snext); | |
for(i = 0; i < LENGTH(tags); i++) { | |
dc.w = textw(tags[i]); | |
t@@ -854,7 +857,7 @@ unsigned int | |
idxoftag(const char *t) { | |
unsigned int i; | |
- for(i = 0; (i < LENGTH(tags)) && (tags[i] != t); i++); | |
+ for(i = 0; (i < LENGTH(tags)) && strcmp(tags[i], t); i++); | |
return (i < LENGTH(tags)) ? i : 0; | |
} | |
t@@ -1501,6 +1504,11 @@ setup(void) { | |
if(i > blw) | |
blw = i; | |
} | |
+ for(bgw = i = 0; i < LENGTH(geoms); i++) { | |
+ i = textw(geoms[i].symbol); | |
+ if(i > bgw) | |
+ bgw = i; | |
+ } | |
wa.override_redirect = 1; | |
wa.background_pixmap = ParentRelative; |