diff --git a/openbox/client.c b/openbox/client.c index 0952909c..266eea43 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -278,7 +278,9 @@ void client_manage(Window window) /* focus the new window? */ if (ob_state() != OB_STATE_STARTING && - (config_focus_new || client_search_focus_tree_full(self)) && + (config_focus_new || (self->transient_for && + self->transient_for != TRAN_GROUP && + client_focused(self->transient_for))) && /* note the check against Type_Normal/Dialog, not client_normal(self), which would also include other types. in this case we want more strict rules for focus */