+ gboolean f;
+
+ /* transients take on the layer of their parents */
+ if (self->transient_for) {
+ if (self->transient_for != TRAN_GROUP) {
+ self = self->transient_for;
+ } else {
+ GSList *it;
+
+ for (it = self->group->members; it; it = it->next)
+ if (it->data != self &&
+ ((Client*)it->data)->transient_for != TRAN_GROUP) {
+ self = self->transient_for;
+ break;
+ }
+ }
+ }
+
+ /* is us or one of our transients focused? */
+ if (client_focused(self))
+ f = TRUE;
+ else if (search_focus_tree(self, self))
+ f = TRUE;
+ else
+ f = FALSE;