X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fstacking.c;h=66aeebcf4c17f9346b2eae2694e004681abbbfac;hb=b2006b8b451f52ce274980b6b3cb626d1347da88;hp=c4fb06a2b3d81bc4cb67d8b9244803acd7b1c893;hpb=176e6cea6e1a52c951bac73c17fe49e77cf197a1;p=chaz%2Fopenbox diff --git a/openbox/stacking.c b/openbox/stacking.c index c4fb06a2..66aeebcf 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -426,7 +426,7 @@ void stacking_add_nonintrusive(ObWindow *win) } } if (!it_below) { - if (client == focus_client) { + if (client_search_transient(client, focus_client)) { /* it's focused so put it at the top */ stacking_list = g_list_append(stacking_list, win); stacking_raise(win); @@ -562,7 +562,7 @@ void stacking_restack_request(ObClient *client, ObClient *sibling, case Above: ob_debug("Restack request Above for client %s sibling %s\n", client->title, sibling ? sibling->title : "(all)"); - if (activate) + if (activate && !client->iconic) /* use user=TRUE because it is impossible to get a timestamp for this */ client_activate(client, FALSE, TRUE); @@ -573,7 +573,7 @@ void stacking_restack_request(ObClient *client, ObClient *sibling, ob_debug("Restack request TopIf for client %s sibling %s\n", client->title, sibling ? sibling->title : "(all)"); if (stacking_occluded(client, sibling)) { - if (activate) + if (activate && !client->iconic) /* use user=TRUE because it is impossible to get a timestamp for this */ client_activate(client, FALSE, TRUE); @@ -586,7 +586,7 @@ void stacking_restack_request(ObClient *client, ObClient *sibling, "%s\n", client->title, sibling ? sibling->title : "(all)"); if (stacking_occluded(client, sibling)) { - if (activate) + if (activate && !client->iconic) /* use user=TRUE because it is impossible to get a timestamp for this */ client_activate(client, FALSE, TRUE);