From a25b19a17f6bffdb7549651ac2e70445eb6eef1b Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 7 Apr 2003 08:45:52 +0000 Subject: [PATCH] support for transients of groups --- openbox/client.h | 6 +++++- openbox/stacking.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) 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 */ -- 2.39.2