support for transients of groups
Dana Jansens danakj@orodu.net
2 files changed,
7 insertions(+),
1 deletions(-)
M
openbox/client.h
→
openbox/client.h
@@ -123,7 +123,11 @@ /*! Whether or not the client is a transient window. This is guaranteed to
be TRUE if transient_for != NULL, but not guaranteed to be FALSE if transient_for == NULL. */ gboolean transient; - /*! The client which this client is a transient (child) for */ + /*! The client which this client is a transient (child) for. + A value of TRAN_GROUP signifies that the window is a transient for all + members of its Group, and is not a valid pointer to be followed in this + case. + */ struct Client *transient_for; /*! The clients which are transients (children) of this client */ GSList *transients;
M
openbox/stacking.c
→
openbox/stacking.c
@@ -94,6 +94,8 @@ for (it = stacking_list; it; it = it->next) {
GSList *sit; Client *c = it->data; + if (it->data == client) continue; + for (sit = c->group->members; sit; sit = sit->next) if (sit->data == it->data) break; if (sit) break; /* got it */