input focus: fix for reparenting wms
[dmenu.git] / dmenu.c
diff --git a/dmenu.c b/dmenu.c
index 9d479f9..5d11932 100644 (file)
--- a/dmenu.c
+++ b/dmenu.c
@@ -509,8 +509,8 @@ setup(void) {
                XWindowAttributes wa;
 
                XGetInputFocus(dc->dpy, &w, &di);
-               if(w != root && XGetWindowAttributes(dc->dpy, w, &wa))
-                       XTranslateCoordinates(dc->dpy, root, root, wa.x, wa.y, &x, &y, &dw);
+               if(w != root && w != PointerRoot && w != None && XGetWindowAttributes(dc->dpy, w, &wa))
+                       XTranslateCoordinates(dc->dpy, w, root, wa.x, wa.y, &x, &y, &dw);
                else
                        XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du);
                for(i = 0; i < n-1; i++)