]> Dogcows Code - chaz/openbox/commitdiff
dont count non-normal windows as parents, in the group too
authorDana Jansens <danakj@orodu.net>
Mon, 28 May 2007 02:21:10 +0000 (02:21 +0000)
committerDana Jansens <danakj@orodu.net>
Mon, 28 May 2007 02:21:10 +0000 (02:21 +0000)
openbox/client.c

index 0bc4ff90c36946e4aa7f2c8b4be7859165297c8e..fa677c5c8269f0136ed26db7bbb741f7c0c7014b 100644 (file)
@@ -2376,10 +2376,21 @@ ObClient *client_search_focus_tree_full(ObClient *self)
 
 gboolean client_has_parent(ObClient *self)
 {
-    return (self->transient_for &&
-            ((self->transient_for != OB_TRAN_GROUP &&
-              client_normal(self->transient_for)) ||
-             (self->group && self->group->members->next)));
+    if (self->transient_for) {
+        if (self->transient_for != OB_TRAN_GROUP) {
+            if (client_normal(self->transient_for))
+                return TRUE;
+        }
+        else if (self->group) {
+            GSList *it;
+
+            for (it = self->group->members; it; it = g_slist_next(it)) {
+                if (it->data != self && client_normal(it->data))
+                    return TRUE;
+            }
+        }
+    }
+    return FALSE;
 }
 
 static ObStackingLayer calc_layer(ObClient *self)
This page took 0.031531 seconds and 4 git commands to generate.