Updating branch refs/heads/master to 33d41a823b2f5fabf458af6f6513d34d3ce86327 (commit) from 006f92a6d3308a9cde8decd3e47d75f3c5181f5e (commit)
commit 33d41a823b2f5fabf458af6f6513d34d3ce86327 Author: Olivier Fourdan <four...@xfce.org> Date: Tue Oct 18 09:08:07 2011 +0200 Optimize transients for group evaluation while withdrawing windows. src/client.c | 39 +++++++++++++++++++-------------------- 1 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/client.c b/src/client.c index bf5ca9a..175e984 100644 --- a/src/client.c +++ b/src/client.c @@ -2318,32 +2318,31 @@ clientWithdraw (Client * c, guint ws, gboolean iconify) continue; } - /* ws is used when transitioning between desktops, to avoid - hiding a transient for group that will be shown again on the new - workspace (transient for groups can be transients for multiple - ancesors splitted across workspaces...) - */ - if (clientIsTransientOrModal (c2) && - clientTransientOrModalHasAncestor (c2, ws)) + if (FLAG_TEST (c2->flags, CLIENT_FLAG_STICKY) && !iconify) { - /* Other ancestors for that transient window are visible on - * the specified workspace, so don't hide it... - */ continue; } - if (clientIsTransientOrModalForGroup (c2) && - clientTransientOrModalHasAncestor (c2, c2->win_workspace)) + if (clientIsTransientOrModalForGroup (c2)) { - /* Other ancestors for that transient for group are still - * visible on current workspace, so don't hide it... - */ - continue; - } - if (FLAG_TEST (c2->flags, CLIENT_FLAG_STICKY) && !iconify) - { - continue; + if (clientTransientOrModalHasAncestor (c2, c2->win_workspace)) + { + /* Other ancestors for that transient for group are still + * visible on current workspace, so don't hide it... + */ + continue; + } + if ((ws != c2->win_workspace) && + clientTransientOrModalHasAncestor (c2, ws)) + { + /* ws is used when transitioning between desktops, to avoid + hiding a transient for group that will be shown again on the new + workspace (transient for groups can be transients for multiple + ancesors splitted across workspaces...) + */ + continue; + } } clientWithdrawSingle (c2, list_of_windows, iconify); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits