+ else
+ {
+ gboolean group_foc = FALSE;
+
+ if (self->group) {
+ GSList *it;
+
+ for (it = self->group->members; it; it = it->next)
+ {
+ if (client_focused(it->data))
+ {
+ group_foc = TRUE;
+ break;
+ }
+ }
+ }
+ if ((group_foc ||
+ (!self->transient_for && (!self->group ||
+ !self->group->members->next))) ||
+ client_search_focus_tree_full(self) ||
+ !focus_client ||
+ !client_normal(focus_client))
+ {
+ /* activate the window */
+ stacking_add(CLIENT_AS_WINDOW(self));
+ activate = TRUE;
+ }
+ else
+ {
+ /* try to not get in the way */
+ stacking_add_nonintrusive(CLIENT_AS_WINDOW(self));
+ }
+ }
+ }
+ else
+ {