diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-09-27 17:57:02 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-09-27 17:57:02 +0000 |
| commit | e30ae5696f06b11a09355abae2e4eccf51292a88 (patch) | |
| tree | 265f400c7a29766c953cc8950fc5ad73dda45ddd /openbox/client.c | |
| parent | 0dfff40a30349d1d4cf164bdd4bd05a8b272d9a1 (diff) | |
remove from parents when changing groups
Diffstat (limited to 'openbox/client.c')
| -rw-r--r-- | openbox/client.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/openbox/client.c b/openbox/client.c index c60c77fb..bc3c6f0d 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -1284,6 +1284,18 @@ void client_update_wmhints(ObClient *self) for (it = self->group->members; it; it = it->next) self->transients = g_slist_remove(self->transients, it->data); + + /* remove myself from parents in the group */ + if (self->transient_for == OB_TRAN_GROUP) { + for (it = self->group->members; it; it = it->next) { + ObClient *c = it->data; + + if (c != self && !c->transient_for) + c->transients = g_slist_remove(c->transients, + self); + } + } + group_remove(self->group, self); self->group = NULL; } |
