← easystroke

Workaround for 'invisible windows'

2d9df0fdc1099e718686cfed968945495f01c7a4 · Thomas Jaeger · Sep 19, 2012 01:53

Currently, gnome-shell's top-level window for whatever reason does not
show up in XQueryTree.  So we essentially treat a press event as an
enter event.

+4 · 1 file changed

  • main.cc +4 −0
diff --git a/main.cc b/main.cc
index 29cb256..0ab6e9e 100644
--- a/main.cc
+++ b/main.cc
@@ -1467,6 +1467,10 @@ void Main::handle_xi2_event(XIDeviceEvent *event) {
 			if (xinput_pressed.size()) {
 				if (!current_dev || current_dev->dev != event->deviceid)
 					break;
+			} else {
+				current_app_window.set(get_app_window(event->child));
+				if (verbosity >= 3)
+					printf("Active window 0x%lx -> 0x%lx\n", event->child, current_app_window.get());
 			}
 			current_dev = grabber->get_xi_dev(event->deviceid);
 			if (!current_dev) {