about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--config.arg.h4
-rw-r--r--draw.c9
-rw-r--r--dwm.h4
-rw-r--r--event.c24
-rw-r--r--main.c6
5 files changed, 24 insertions, 23 deletions
diff --git a/config.arg.h b/config.arg.h
index 2b989a7..eb9ebf5 100644
--- 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
index 102e89e..64b11af 100644
--- 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
index c23c86c..4d23cab 100644
--- 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
index 35cd4f9..3c83aa8 100644
--- 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
index d2da0c1..5dab0db 100644
--- 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);