From 3c960fb9282848bc346f6265dc6508a4b8150a5f Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 15 Apr 2003 16:53:36 +0000 Subject: [PATCH] remove transients of the group from teh window when it leaves the group --- openbox/client.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/openbox/client.c b/openbox/client.c index 879f60c7..5b81cd22 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -1038,8 +1038,17 @@ void client_update_wmhints(Client *self) /* did the group state change? */ if (hints->window_group != (self->group ? self->group->leader : None)){ /* remove from the old group if there was one */ - if (self->group != NULL) + if (self->group != NULL) { group_remove(self->group, self); + + /* remove transients of the group */ + for (it = self->group->members; it; it = it->next) + if (it->data != self && + ((Client*)it->data)->transient_for == TRAN_GROUP) { + self->transients = g_slist_remove(self->transients, + it->data); + } + } if (hints->window_group != None) self->group = group_add(hints->window_group, self); -- 2.39.2