when focus goes to something that isn't a client (window already unmapped) then set focus_client to NULL so we know nothing has focus right now
/* If you send focus to a window and then it disappears, you can
get the FocusIn for it, after it is unmanaged.
- Just wait for the next FocusOut/FocusIn pair. */
+ Just wait for the next FocusOut/FocusIn pair, but note that
+ nothing is focused now.
+ */
+ focus_set_client(NULL);
}
else if (client != focus_client) {
focus_left_screen = FALSE;
/* if not just see if we could try, or it's already focused */
(!send_focus && (c == old || client_can_focus(c)))))
{
- ob_debug_type(OB_DEBUG_FOCUS, "found in focus order (%d)\n",
- send_focus);
+ ob_debug_type(OB_DEBUG_FOCUS, "found in focus order (%d) 0x%x "
+ "from 0x%x\n",
+ send_focus, c, old);
return c;
}
}