all repos — dwm @ fe6b0c0fc17d70e1c0f002e397bd2d3ac152ede0

my dwm build

geoms are now drawed in the status bar
Anselm R Garbe garbeam@gmail.com
Mon, 17 Mar 2008 16:26:06 +0000
commit

fe6b0c0fc17d70e1c0f002e397bd2d3ac152ede0

parent

aa2395b6a81475b44dd74618fb7f0b40305e10bb

2 files changed, 16 insertions(+), 8 deletions(-)

jump to
M config.def.hconfig.def.h

@@ -28,8 +28,8 @@ DEFGEOM(dual, 0, 0,1280, 0, bh, ww, wh-bh, wx, wy, 1280,800-bh, 1280, 0, ww-mw, sh, mx, my, mw, mh)

Geom geoms[] = { /* symbol function */ - { "[]", single }, /* first entry is default */ - { "[][]", dual }, + { "<>", single }, /* first entry is default */ + { ")(", dual }, }; /* layout(s) */

@@ -48,8 +48,8 @@ /* key definitions */

#define MODKEY Mod1Mask Key keys[] = { /* modifier key function argument */ - { 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 '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" }, { MODKEY|ShiftMask, XK_Return, spawn, "exec uxterm" },
M dwm.cdwm.c

@@ -210,7 +210,7 @@ /* variables */

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, wx, wy, ww, wh; +int bx, by, bw, bh, blw, bgw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, wx, wy, ww, wh; unsigned int numlockmask = 0; void (*handler[LASTEvent]) (XEvent *) = { [ButtonPress] = buttonpress,

@@ -322,10 +322,10 @@ Client *c;

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]);

@@ -514,6 +514,9 @@ int i, x;

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]);

@@ -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; }

@@ -1500,6 +1503,11 @@ for(blw = i = 0; i < LENGTH(layouts); i++) {

i = textw(layouts[i].symbol); 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;