diff options
| -rw-r--r-- | config.arg.h | 2 | ||||
| -rw-r--r-- | config.default.h | 2 | ||||
| -rw-r--r-- | config.mk | 2 | ||||
| -rw-r--r-- | draw.c | 2 | ||||
| -rw-r--r-- | dwm.h | 1 | ||||
| -rw-r--r-- | main.c | 5 | ||||
| -rw-r--r-- | view.c | 12 | 
7 files changed, 18 insertions, 8 deletions
diff --git a/config.arg.h b/config.arg.h index aa3c0c9..b87c9dc 100644 --- a/config.arg.h +++ b/config.arg.h @@ -7,7 +7,7 @@ const char *tags[] = { "home", "net", "www", "mon", "fnord", NULL };  #define DEFMODE			dotile		/* dofloat */  #define FLOATSYMBOL		"><>" -#define TILESYMBOL		"[]=" +#define TILESYMBOL		"[%u]="  #define FONT			"-*-terminus-medium-r-*-*-14-*-*-*-*-*-*-*"  #define NORMBGCOLOR		"#111111" diff --git a/config.default.h b/config.default.h index 348ab61..174be3f 100644 --- a/config.default.h +++ b/config.default.h @@ -7,7 +7,7 @@ const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", NULL };  #define DEFMODE			dotile /* dofloat */  #define FLOATSYMBOL		"><>" -#define TILESYMBOL		"[]=" +#define TILESYMBOL		"[%u]="  #define FONT			"-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*"  #define NORMBGCOLOR		"#333366" @@ -1,5 +1,5 @@  # dwm version -VERSION = 2.9 +VERSION = 3.0  # Customize below to fit your system @@ -120,7 +120,7 @@ drawstatus(void) {  		dc.x += dc.w;  	}  	dc.w = bmw; -	drawtext(arrange == dofloat ?  FLOATSYMBOL : TILESYMBOL, dc.status, False, False); +	drawtext(mtext, dc.status, False, False);  	x = dc.x + dc.w;  	dc.w = textw(stext);  	dc.x = bw - dc.w; @@ -93,6 +93,7 @@ struct Client {  extern const char *tags[];			/* all tags */  extern char stext[1024];			/* status text */ +extern char mtext[32];				/* mode text */  extern int bx, by, bw, bh, bmw;			/* bar geometry, bar mode label width */  extern int screen, sx, sy, sw, sh;		/* screen geometry */  extern int wax, way, wah, waw;			/* windowarea geometry */ @@ -17,7 +17,7 @@  /* extern */ -char stext[1024]; +char stext[1024], mtext[32];  Bool *seltag;  int bx, by, bw, bh, bmw, masterd, screen, sx, sy, sw, sh, wax, way, waw, wah;  unsigned int master, nmaster, ntags, numlockmask; @@ -128,12 +128,13 @@ setup(void) {  	dc.status[ColFG] = getcolor(STATUSFGCOLOR);  	setfont(FONT);  	/* geometry */ -	bmw = textw(TILESYMBOL) > textw(FLOATSYMBOL) ?  textw(TILESYMBOL) : textw(FLOATSYMBOL);  	sx = sy = 0;  	sw = DisplayWidth(dpy, screen);  	sh = DisplayHeight(dpy, screen);  	master = MASTER;  	nmaster = NMASTER; +	snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); +	bmw = textw(mtext);  	/* bar */  	bx = sx;  	by = sy; @@ -2,6 +2,7 @@   * See LICENSE file for license details.   */  #include "dwm.h" +#include <stdio.h>  /* static */ @@ -149,10 +150,15 @@ focusprev(Arg *arg) {  void  incnmaster(Arg *arg) { -	if((nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh)) +	if((arrange == dofloat) || (nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh))  		return;  	nmaster += arg->i; -	arrange(); +	snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); +	bmw = textw(mtext); +	if(sel) +		arrange(); +	else +		drawstatus();  }  Bool @@ -218,6 +224,8 @@ togglefloat(Arg *arg) {  void  togglemode(Arg *arg) {  	arrange = (arrange == dofloat) ? dotile : dofloat; +	snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); +	bmw = textw(mtext);  	if(sel)  		arrange();  	else  |