]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.c
update some strings and the swedish translation
[chaz/openbox] / openbox / client.c
index 9c06e49e34d38e0bc50ee83b011eea47f25adab1..47bfcabcb5ff6a547f2e7287fe124d47ca68ec5c 100644 (file)
@@ -1254,11 +1254,13 @@ static void client_update_transient_tree(ObClient *self,
     }
             
 
-    /* If the group changed then we need to remove any old group transient
-       windows from our children. But if we're transient for the group, then
+    /* If the group changed, or if we are just becoming transient for the
+       group, then we need to remove any old group transient windows
+       from our children. But if we were already transient for the group, then
        other group transients are not our children. */
-    if (oldgroup != newgroup && oldgroup != NULL &&
-        oldparent != OB_TRAN_GROUP)
+    if ((oldgroup != newgroup ||
+         (newparent == OB_TRAN_GROUP && oldparent != newparent)) &&
+        oldgroup != NULL && oldparent != OB_TRAN_GROUP)
     {
         for (it = self->transients; it; it = next) {
             next = g_slist_next(it);
@@ -2143,9 +2145,11 @@ static void client_change_wm_state(ObClient *self)
 
     old = self->wmstate;
 
-    if (self->shaded || self->iconic)
+    if (self->shaded || self->iconic ||
+        (self->desktop != DESKTOP_ALL && self->desktop != screen_desktop))
+    {
         self->wmstate = IconicState;
-    else
+    else
         self->wmstate = NormalState;
 
     if (old != self->wmstate) {
This page took 0.021014 seconds and 4 git commands to generate.