diff options
author | Anselm R. Garbe <arg@suckless.org> | 2007-01-08 17:33:24 +0100 |
---|---|---|
committer | Anselm R. Garbe <arg@suckless.org> | 2007-01-08 17:33:24 +0100 |
commit | 1d4a24dae02cfb3a3241c3d293e96dba910317bd (patch) | |
tree | 52267e4a8de9e198fed15726c20734e7ac735197 | |
parent | a768ea93fdb3adfa33b3ea7ccc7abfe86a2bfb2a (diff) | |
download | dwm-1d4a24dae02cfb3a3241c3d293e96dba910317bd.tar.gz dwm-1d4a24dae02cfb3a3241c3d293e96dba910317bd.tar.bz2 dwm-1d4a24dae02cfb3a3241c3d293e96dba910317bd.zip |
implemented nmaster appearance in mode label (using %u)
-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 |