about summary refs log tree commit diff stats
path: root/event.c
diff options
context:
space:
mode:
Diffstat (limited to 'event.c')
-rw-r--r--event.c24
1 files changed, 11 insertions, 13 deletions
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);