ok this is from prevous changes but has a bunch of debug stuff in it

This commit is contained in:
Dana Jansens 2007-03-12 02:34:34 +00:00
parent 2244bc036a
commit d113b9f33f

View file

@ -256,18 +256,10 @@ ObClient* focus_fallback_target(ObFocusFallbackType type, ObClient *old)
if (!config_focus_follow || config_focus_last) if (!config_focus_follow || config_focus_last)
trans = TRUE; trans = TRUE;
else { else if ((target = client_under_pointer()) &&
if ((target = client_under_pointer())) { (client_search_transient
GSList *sit; (client_search_top_parent(target), old)))
trans = TRUE;
sit = client_search_top_transients(target);
for (; sit; sit = g_slist_next(sit))
if (client_search_transient(sit->data, old)) {
trans = TRUE;
break;
}
}
}
/* try for transient relations */ /* try for transient relations */
if (trans) { if (trans) {
@ -283,24 +275,33 @@ ObClient* focus_fallback_target(ObFocusFallbackType type, ObClient *old)
if (sit->data == it->data) if (sit->data == it->data)
if ((target = if ((target =
focus_fallback_transient(sit->data, old))) focus_fallback_transient(sit->data, old)))
{
ob_debug("found in transient #1\n");
return target; return target;
}
} }
} }
} else { } else {
if ((target = if ((target =
focus_fallback_transient(old->transient_for, old))) focus_fallback_transient(old->transient_for, old)))
{
ob_debug("found in transient #2\n");
return target; return target;
}
} }
} }
} }
} }
ob_debug("trying pointer stuff\n");
if (config_focus_follow && if (config_focus_follow &&
(type == OB_FOCUS_FALLBACK_UNFOCUSING || !config_focus_last)) (type == OB_FOCUS_FALLBACK_UNFOCUSING || !config_focus_last))
{ {
if ((target = client_under_pointer())) if ((target = client_under_pointer()))
if (client_normal(target) && client_can_focus(target)) if (client_normal(target) && client_can_focus(target)) {
ob_debug("found in pointer stuff\n");
return target; return target;
}
} }
#if 0 #if 0
@ -317,10 +318,13 @@ ObClient* focus_fallback_target(ObFocusFallbackType type, ObClient *old)
} }
#endif #endif
ob_debug("trying the focus order\n");
for (it = focus_order[screen_desktop]; it; it = g_list_next(it)) for (it = focus_order[screen_desktop]; it; it = g_list_next(it))
if (type != OB_FOCUS_FALLBACK_UNFOCUSING || it->data != old) if (type != OB_FOCUS_FALLBACK_UNFOCUSING || it->data != old)
if (client_normal(it->data) && client_can_focus(it->data)) if (client_normal(it->data) && client_can_focus(it->data)) {
ob_debug("found in focus order\n");
return it->data; return it->data;
}
/* XXX fallback to the "desktop window" if one exists ? /* XXX fallback to the "desktop window" if one exists ?
could store it while going through all the windows in the loop right could store it while going through all the windows in the loop right