Hey,

I don't know about all you, but I find dwm's sloppy focus can be
really annoying at times -- focusing a window when I accidentally
nudge my atrophying pointer -- and would rather click-to-focus. The
great thing about dropping dwm's sloppy focus is it saves 20 lines of
code! So how about we make dwm less mousy and a bit simpler, too?

Thanks,
cls
diff -r c787646ca93f dwm.c
--- a/dwm.c	Sat Jul 02 11:02:22 2011 +0200
+++ b/dwm.c	Mon Jul 04 02:03:03 2011 +0100
@@ -177,7 +177,6 @@
 static void drawbars(void);
 static void drawsquare(Bool filled, Bool empty, Bool invert, unsigned long col[ColLast]);
 static void drawtext(const char *text, unsigned long col[ColLast], Bool invert);
-static void enternotify(XEvent *e);
 static void expose(XEvent *e);
 static void focus(Client *c);
 static void focusin(XEvent *e);
@@ -259,7 +258,6 @@
 	[ConfigureRequest] = configurerequest,
 	[ConfigureNotify] = configurenotify,
 	[DestroyNotify] = destroynotify,
-	[EnterNotify] = enternotify,
 	[Expose] = expose,
 	[FocusIn] = focusin,
 	[KeyPress] = keypress,
@@ -819,24 +817,6 @@
 }
 
 void
-enternotify(XEvent *e) {
-	Client *c;
-	Monitor *m;
-	XCrossingEvent *ev = &e->xcrossing;
-
-	if((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && ev->window != root)
-		return;
-	c = wintoclient(ev->window);
-	if((m = wintomon(ev->window)) && m != selmon) {
-		unfocus(selmon->sel, True);
-		selmon = m;
-	}
-	else if(c == selmon->sel || c == NULL)
-		return;
-	focus((wintoclient(ev->window)));
-}
-
-void
 expose(XEvent *e) {
 	Monitor *m;
 	XExposeEvent *ev = &e->xexpose;

Reply via email to