/* This means focus moved from one client to another */
if (detail == NotifyNonlinearVirtual)
return TRUE;
+ /* This means focus had moved to our frame window and now moved off */
+ if (detail == NotifyNonlinear)
+ return TRUE;
/* Otherwise.. */
return FALSE;
return TRUE;
break;
case FocusOut:
- if (client == NULL)
- return TRUE;
if (!wanted_focusevent(e))
return TRUE;
break;
/* nothing is focused */
focus_set_client(NULL);
} else if (ce.xany.window == e->xany.window) {
+ ob_debug_type(OB_DEBUG_FOCUS, "Focus didn't go anywhere\n");
/* If focus didn't actually move anywhere, there is nothing to do*/
nomove = TRUE;
} else if (ce.xfocus.detail == NotifyPointerRoot ||