diff --git a/src/lib/AutoTypeX11.cpp b/src/lib/AutoTypeX11.cpp
index e31970e..07ec665 100644
--- a/src/lib/AutoTypeX11.cpp
+++ b/src/lib/AutoTypeX11.cpp
@@ -62,6 +62,21 @@ Window AutoTypeX11::getFocusWindow() {
 	Window w;
 	int revert_to_return;
 	XGetInputFocus(dpy, &w, &revert_to_return);
+	int tree;
+	do {
+		XTextProperty textProp;
+		if (XGetWMName(dpy, w, &textProp) != 0) {
+			break;
+		}
+		Window root = 0;
+		Window parent = 0;
+		Window* children = NULL;
+		unsigned int num_children;
+		tree = XQueryTree(dpy, w, &root, &parent, &children, &num_children);
+		w = parent;
+		if (children) XFree(children);
+	} while (tree && w);
+	
 	return w;
 }