diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-04-07 08:45:52 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-04-07 08:45:52 +0000 |
| commit | a25b19a17f6bffdb7549651ac2e70445eb6eef1b (patch) | |
| tree | d4d688981db38e72d30d0b18d16a9834fbc8ed14 /openbox | |
| parent | e6cc69ca04f6b275f56e1e0feef731518e0709a3 (diff) | |
support for transients of groups
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/client.h | 6 | ||||
| -rw-r--r-- | openbox/stacking.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/openbox/client.h b/openbox/client.h index 172d4caf..3ab555b0 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -123,7 +123,11 @@ typedef struct Client { 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; diff --git a/openbox/stacking.c b/openbox/stacking.c index b8194a78..275cd572 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -94,6 +94,8 @@ void stacking_lower(Client *client) 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 */ |
