let transients take focus when anything in the transient tree _or the group_ is focused
Dana Jansens danakj@orodu.net
1 files changed,
12 insertions(+),
13 deletions(-)
jump to
M
openbox/client.c
→
openbox/client.c
@@ -2367,20 +2367,19 @@ }
ObClient *client_search_focus_tree_full(ObClient *self) { - if (self->transient_for) { - if (self->transient_for != OB_TRAN_GROUP) { - return client_search_focus_tree_full(self->transient_for); - } else { - GSList *it; + GSList *it; + ObClient *c; + + if (self->transient_for && self->transient_for != OB_TRAN_GROUP) { + if ((c = client_search_focus_tree_full(self->transient_for))) + return c; + } - for (it = self->group->members; it; it = g_slist_next(it)) { - if (it->data != self) { - ObClient *c = it->data; - - if (client_focused(c)) return c; - if ((c = client_search_focus_tree(it->data))) return c; - } - } + for (it = self->group->members; it; it = g_slist_next(it)) { + if (it->data != self) { + c = it->data; + if (client_focused(c)) return c; + if ((c = client_search_focus_tree(it->data))) return c; } }