if (detail == NotifyNonlinearVirtual)
return TRUE;
- /* This means focus reverted off of a client */
- if (detail == NotifyInferior)
- return TRUE;
-
/* Otherwise.. */
return FALSE;
} else {
{
switch(e->type) {
case FocusIn:
+ if (!wanted_focusevent(e))
+ return TRUE;
+ break;
case FocusOut:
+ if (client == NULL)
+ return TRUE;
if (!wanted_focusevent(e))
return TRUE;
break;
event_handle_menu(e);
} else if (e->type == FocusIn) {
if (e->xfocus.detail == NotifyPointerRoot ||
- e->xfocus.detail == NotifyDetailNone) {
+ e->xfocus.detail == NotifyDetailNone) {
ob_debug_type(OB_DEBUG_FOCUS, "Focus went to root\n");
/* Focus has been reverted to the root window or nothing
FocusOut events come after UnmapNotify, so we don't need to