+ and such, and then when we try focus them, we won't get a FocusIn
+ event at all for them. */
+ focus_nothing();
+
+ new = focus_fallback_target(allow_refocus);
+
+ return new;
+}
+
+void focus_nothing()
+{
+ /* Install our own colormap */
+ if (focus_client != NULL) {
+ screen_install_colormap(focus_client, FALSE);
+ screen_install_colormap(NULL, TRUE);
+ }
+
+ /* Don't set focus_client to NULL here. It will be set to NULL when the
+ FocusOut event comes. Otherwise, if we focus nothing and then focus the
+ same window again, The focus code says nothing changed, but focus_client
+ ends up being NULL anyways.
+ focus_client = NULL;
+ */
+
+ /* if there is a grab going on, then we need to cancel it. if we move
+ focus during the grab, applications will get NotifyWhileGrabbed events
+ and ignore them !
+
+ actions should not rely on being able to move focus during an
+ interactive grab.