implemented nmaster appearance in mode label (using %u)
1d4a24da
7 file(s) · +18 −8
| 7 | 7 | ||
| 8 | 8 | #define DEFMODE dotile /* dofloat */ |
|
| 9 | 9 | #define FLOATSYMBOL "><>" |
|
| 10 | - | #define TILESYMBOL "[]=" |
|
| 10 | + | #define TILESYMBOL "[%u]=" |
|
| 11 | 11 | ||
| 12 | 12 | #define FONT "-*-terminus-medium-r-*-*-14-*-*-*-*-*-*-*" |
|
| 13 | 13 | #define NORMBGCOLOR "#111111" |
| 7 | 7 | ||
| 8 | 8 | #define DEFMODE dotile /* dofloat */ |
|
| 9 | 9 | #define FLOATSYMBOL "><>" |
|
| 10 | - | #define TILESYMBOL "[]=" |
|
| 10 | + | #define TILESYMBOL "[%u]=" |
|
| 11 | 11 | ||
| 12 | 12 | #define FONT "-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*" |
|
| 13 | 13 | #define NORMBGCOLOR "#333366" |
| 1 | 1 | # dwm version |
|
| 2 | - | VERSION = 2.9 |
|
| 2 | + | VERSION = 3.0 |
|
| 3 | 3 | ||
| 4 | 4 | # Customize below to fit your system |
|
| 5 | 5 |
| 120 | 120 | dc.x += dc.w; |
|
| 121 | 121 | } |
|
| 122 | 122 | dc.w = bmw; |
|
| 123 | - | drawtext(arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, dc.status, False, False); |
|
| 123 | + | drawtext(mtext, dc.status, False, False); |
|
| 124 | 124 | x = dc.x + dc.w; |
|
| 125 | 125 | dc.w = textw(stext); |
|
| 126 | 126 | dc.x = bw - dc.w; |
| 93 | 93 | ||
| 94 | 94 | extern const char *tags[]; /* all tags */ |
|
| 95 | 95 | extern char stext[1024]; /* status text */ |
|
| 96 | + | extern char mtext[32]; /* mode text */ |
|
| 96 | 97 | extern int bx, by, bw, bh, bmw; /* bar geometry, bar mode label width */ |
|
| 97 | 98 | extern int screen, sx, sy, sw, sh; /* screen geometry */ |
|
| 98 | 99 | extern int wax, way, wah, waw; /* windowarea geometry */ |
| 17 | 17 | ||
| 18 | 18 | /* extern */ |
|
| 19 | 19 | ||
| 20 | - | char stext[1024]; |
|
| 20 | + | char stext[1024], mtext[32]; |
|
| 21 | 21 | Bool *seltag; |
|
| 22 | 22 | int bx, by, bw, bh, bmw, masterd, screen, sx, sy, sw, sh, wax, way, waw, wah; |
|
| 23 | 23 | unsigned int master, nmaster, ntags, numlockmask; |
|
| 128 | 128 | dc.status[ColFG] = getcolor(STATUSFGCOLOR); |
|
| 129 | 129 | setfont(FONT); |
|
| 130 | 130 | /* geometry */ |
|
| 131 | - | bmw = textw(TILESYMBOL) > textw(FLOATSYMBOL) ? textw(TILESYMBOL) : textw(FLOATSYMBOL); |
|
| 132 | 131 | sx = sy = 0; |
|
| 133 | 132 | sw = DisplayWidth(dpy, screen); |
|
| 134 | 133 | sh = DisplayHeight(dpy, screen); |
|
| 135 | 134 | master = MASTER; |
|
| 136 | 135 | nmaster = NMASTER; |
|
| 136 | + | snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); |
|
| 137 | + | bmw = textw(mtext); |
|
| 137 | 138 | /* bar */ |
|
| 138 | 139 | bx = sx; |
|
| 139 | 140 | by = sy; |
|
| 2 | 2 | * See LICENSE file for license details. |
|
| 3 | 3 | */ |
|
| 4 | 4 | #include "dwm.h" |
|
| 5 | + | #include <stdio.h> |
|
| 5 | 6 | ||
| 6 | 7 | /* static */ |
|
| 7 | 8 | ||
| 149 | 150 | ||
| 150 | 151 | void |
|
| 151 | 152 | incnmaster(Arg *arg) { |
|
| 152 | - | if((nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh)) |
|
| 153 | + | if((arrange == dofloat) || (nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh)) |
|
| 153 | 154 | return; |
|
| 154 | 155 | nmaster += arg->i; |
|
| 155 | - | arrange(); |
|
| 156 | + | snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); |
|
| 157 | + | bmw = textw(mtext); |
|
| 158 | + | if(sel) |
|
| 159 | + | arrange(); |
|
| 160 | + | else |
|
| 161 | + | drawstatus(); |
|
| 156 | 162 | } |
|
| 157 | 163 | ||
| 158 | 164 | Bool |
|
| 218 | 224 | void |
|
| 219 | 225 | togglemode(Arg *arg) { |
|
| 220 | 226 | arrange = (arrange == dofloat) ? dotile : dofloat; |
|
| 227 | + | snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); |
|
| 228 | + | bmw = textw(mtext); |
|
| 221 | 229 | if(sel) |
|
| 222 | 230 | arrange(); |
|
| 223 | 231 | else |
|