dwm

Extremely fast, small, and dynamic window manager for X
git clone git://git.janpasierb.com/dwm.git
Log | Files | Refs | README | LICENSE

commit e995c1b5325f88d197675950c15762d001dd80ef
parent e36929292e08d03c496c8134f2d29c069a45dc2c
Author: Anselm R. Garbe <arg@10kloc.org>
Date:   Fri, 25 Aug 2006 15:48:44 +0200

trying a different configuration
Diffstat:
Mconfig.arg.h | 4++--
Mdraw.c | 9++++++---
Mdwm.h | 4++--
Mevent.c | 24+++++++++++-------------
Mmain.c | 6+++---
5 files changed, 24 insertions(+), 23 deletions(-)

diff --git a/config.arg.h b/config.arg.h @@ -15,8 +15,8 @@ const char *tags[] = { "work", "net", "fnord", NULL }; #define NORMFGCOLOR "#cccccc" #define STATUSBGCOLOR "#dddddd" #define STATUSFGCOLOR "#222222" -#define FLOATSYMBOL "><" -#define TILESYMBOL "|=" +#define FLOATSYMBOL "><>" +#define TILESYMBOL "[]=" #define MODKEY Mod1Mask #define MASTERW 60 /* percent */ diff --git a/draw.c b/draw.c @@ -99,16 +99,19 @@ drawstatus() dc.x = dc.y = 0; dc.w = bw; - drawtext(arrange == dotile ? TILESYMBOL : FLOATSYMBOL, dc.status, False); - dc.w = modew; + drawtext(NULL, dc.status, False); for(i = 0; i < ntags; i++) { - dc.x += dc.w; dc.w = textw(tags[i]); if(seltag[i]) drawtext(tags[i], dc.sel, sel && sel->tags[i]); else drawtext(tags[i], dc.norm, sel && sel->tags[i]); + dc.x += dc.w; } + + dc.w = bmw; + drawtext(arrange == dotile ? TILESYMBOL : FLOATSYMBOL, dc.status, False); + x = dc.x + dc.w; dc.w = textw(stext); dc.x = bx + bw - dc.w; diff --git a/dwm.h b/dwm.h @@ -68,8 +68,8 @@ struct Client { extern const char *tags[]; extern char stext[1024]; -extern int screen, sx, sy, sw, sh, bx, by, bw, bh, mw; -extern unsigned int ntags, numlockmask, modew; +extern int bx, by, bw, bh, bmw, mw, screen, sx, sy, sw, sh; +extern unsigned int ntags, numlockmask; extern void (*handler[LASTEvent])(XEvent *); extern void (*arrange)(Arg *); extern Atom wmatom[WMLast], netatom[NetLast]; diff --git a/event.c b/event.c @@ -105,21 +105,19 @@ buttonpress(XEvent *e) XButtonPressedEvent *ev = &e->xbutton; if(barwin == ev->window) { - if(ev->x < modew) - togglemode(NULL); - else { - x = modew; - for(a.i = 0; a.i < ntags; a.i++) { - x += textw(tags[a.i]); - if(ev->x < x) { - if(ev->button == Button1) - view(&a); - else if(ev->button == Button3) - toggleview(&a); - return; - } + x = 0; + for(a.i = 0; a.i < ntags; a.i++) { + x += textw(tags[a.i]); + if(ev->x < x) { + if(ev->button == Button1) + view(&a); + else if(ev->button == Button3) + toggleview(&a); + return; } } + if(ev->x < x + bmw) + togglemode(NULL); } else if((c = getclient(ev->window))) { focus(c); diff --git a/main.c b/main.c @@ -19,8 +19,8 @@ char stext[1024]; Bool *seltag; -int screen, sx, sy, sw, sh, bx, by, bw, bh, mw; -unsigned int ntags, numlockmask, modew; +int bx, by, bw, bh, bmw, mw, screen, sx, sy, sw, sh; +unsigned int ntags, numlockmask; Atom wmatom[WMLast], netatom[NetLast]; Bool running = True; Bool issel = True; @@ -129,7 +129,7 @@ setup() dc.status[ColFG] = getcolor(STATUSFGCOLOR); setfont(FONT); - modew = textw(FLOATSYMBOL) > textw(TILESYMBOL) ? textw(FLOATSYMBOL) : textw(TILESYMBOL); + bmw = textw(FLOATSYMBOL) > textw(TILESYMBOL) ? textw(FLOATSYMBOL) : textw(TILESYMBOL); sx = sy = 0; sw = DisplayWidth(dpy, screen); sh = DisplayHeight(dpy, screen);