summaryrefslogtreecommitdiff
path: root/openbox/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbox/client.c')
-rw-r--r--openbox/client.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 27470d34..600acfcc 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -2633,10 +2633,11 @@ static void client_iconify_recursive(ObClient *self,
screen_update_areas();
}
- /* iconify all direct transients */
+ /* iconify all direct transients, and deiconify all transients
+ (non-direct too) */
for (it = self->transients; it; it = g_slist_next(it))
if (it->data != self)
- if (client_is_direct_child(self, it->data))
+ if (client_is_direct_child(self, it->data) || !iconic)
client_iconify_recursive(it->data, iconic, curdesk);
}