when placing transients in the stacking order, only use relatives that are on screen or share the desktop or whatever, not iconic ones

This commit is contained in:
Dana Jansens 2007-06-04 18:25:01 +00:00
parent 6e2d5ccc03
commit f869ec5121

View file

@ -382,8 +382,14 @@ static GList *find_highest_relative(ObClient *client)
for (it = stacking_list; !ret && it; it = g_list_next(it)) { for (it = stacking_list; !ret && it; it = g_list_next(it)) {
if (WINDOW_IS_CLIENT(it->data)) { if (WINDOW_IS_CLIENT(it->data)) {
ObClient *c = it->data; ObClient *c = it->data;
/* only look at windows in the same layer */ /* only look at windows in the same layer and that are
if (c->layer == client->layer) { visible */
if (c->layer == client->layer &&
!c->iconic &&
(c->desktop == client->desktop ||
c->desktop == DESKTOP_ALL ||
client->desktop == DESKTOP_ALL))
{
GSList *sit; GSList *sit;
/* go through each top level parent and see it this window /* go through each top level parent and see it this window