Commit Diff


commit - b3c5f5435ad8bdf69cd5b0cc23c8b3217c39ba5c
commit + 3150a8a1beef1884365210e0e4d18b2599269a78
blob - a0ab126352d724bc882d3dcdb9ed6d8761eefe50
blob + 01e8d1f5dd8931715d7ca61bf17a26df55289f42
--- dwm.c
+++ dwm.c
@@ -827,13 +827,14 @@ enternotify(XEvent *e) {
 	if((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && ev->window != root)
 		return;
 	c = wintoclient(ev->window);
-	if((m = wintomon(ev->window)) && m != selmon) {
+	m = c ? c->mon : wintomon(ev->window);
+	if(m != selmon) {
 		unfocus(selmon->sel, True);
 		selmon = m;
 	}
-	else if(c == selmon->sel || c == NULL)
+	else if(!c || c == selmon->sel)
 		return;
-	focus((wintoclient(ev->window)));
+	focus(c);
 }
 
 void