diff options
| author | Anselm R Garbe <garbeam@gmail.com> | 2008-03-17 16:26:06 +0000 | 
|---|---|---|
| committer | Anselm R Garbe <garbeam@gmail.com> | 2008-03-17 16:26:06 +0000 | 
| commit | fe6b0c0fc17d70e1c0f002e397bd2d3ac152ede0 (patch) | |
| tree | bc4ee93735e52004e2922a058aee4c310ac32572 | |
| parent | aa2395b6a81475b44dd74618fb7f0b40305e10bb (diff) | |
geoms are now drawed in the status bar
| -rw-r--r-- | config.def.h | 8 | ||||
| -rw-r--r-- | dwm.c | 16 | 
2 files changed, 16 insertions, 8 deletions
| diff --git a/config.def.h b/config.def.h index 8130909..76e7ed3 100644 --- a/config.def.h +++ b/config.def.h @@ -28,8 +28,8 @@ DEFGEOM(dual,    0,  0,1280, 0, bh, ww, wh-bh, wx, wy, 1280,800-bh,  1280,  0, w  Geom geoms[] = {  	/* symbol	function */ -	{ "[]",		single },	/* first entry is default */ -	{ "[][]",	dual }, +	{ "<>",		single },	/* first entry is default */ +	{ ")(",		dual },  };  /* layout(s) */ @@ -48,8 +48,8 @@ Layout layouts[] = {  #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" }, @@ -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, 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 @@ 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]); @@ -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]); @@ -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;  } @@ -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; | 
