add group transients when setting up the group
authorDana Jansens <danakj@orodu.net>
Tue, 15 Apr 2003 16:52:14 +0000 (16:52 +0000)
committerDana Jansens <danakj@orodu.net>
Tue, 15 Apr 2003 16:52:14 +0000 (16:52 +0000)
openbox/client.c

index d1d235c..879f60c 100644 (file)
@@ -1015,6 +1015,7 @@ void client_update_wmhints(Client *self)
 {
     XWMHints *hints;
     gboolean ur = FALSE;
+    GSList *it;
 
     /* assume a window takes input if it doesnt specify */
     self->can_focus = TRUE;
@@ -1042,6 +1043,13 @@ void client_update_wmhints(Client *self)
             if (hints->window_group != None)
                 self->group = group_add(hints->window_group, self);
 
+            /* add other transients of the group that are already set up */
+            for (it = self->group->members; it; it = it->next)
+                if (it->data != self &&
+                    ((Client*)it->data)->transient_for == TRAN_GROUP)
+                    self->transients = g_slist_append(self->transients,
+                                                      it->data);
+
             /* because the self->transient flag wont change from this call,
                we don't need to update the window's type and such, only its
                transient_for, and the transients lists of other windows in the