X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fstacking.c;h=4a58d91ed87c2a39ae5539db95168a7db3e25805;hb=8eea9dcdb77e004e67c23061eaecce26e8cd4e68;hp=fe3d26d35e4e63f0e5c9403fecb34bbbe5395d41;hpb=51fdd13fd1a445d5fa3c2d7aab356e7caaf2f902;p=chaz%2Fopenbox diff --git a/openbox/stacking.c b/openbox/stacking.c index fe3d26d3..4a58d91e 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -492,7 +492,8 @@ static gboolean stacking_occluded(ObClient *client, ObClient *sibling) ObClient *c = it->data; if (found && !c->iconic && (c->desktop == DESKTOP_ALL || client->desktop == DESKTOP_ALL || - c->desktop == client->desktop)) + c->desktop == client->desktop) && + !client_search_transient(client, c)) { if (RECT_INTERSECTS_RECT(c->frame->area, client->frame->area)) { @@ -534,7 +535,8 @@ static gboolean stacking_occludes(ObClient *client, ObClient *sibling) ObClient *c = it->data; if (found && !c->iconic && (c->desktop == DESKTOP_ALL || client->desktop == DESKTOP_ALL || - c->desktop == client->desktop)) + c->desktop == client->desktop) && + !client_search_transient(c, client)) { if (RECT_INTERSECTS_RECT(c->frame->area, client->frame->area)) { @@ -559,7 +561,7 @@ static gboolean stacking_occludes(ObClient *client, ObClient *sibling) } gboolean stacking_restack_request(ObClient *client, ObClient *sibling, - gint detail, gboolean activate) + gint detail) { gboolean ret = FALSE; @@ -595,24 +597,14 @@ gboolean 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 && !client->iconic && client_normal(client)) - /* use user=TRUE because it is impossible to get a timestamp - for this */ - client_activate(client, FALSE, TRUE); - else - stacking_raise(CLIENT_AS_WINDOW(client)); + stacking_raise(CLIENT_AS_WINDOW(client)); ret = TRUE; break; case TopIf: ob_debug("Restack request TopIf for client %s sibling %s\n", client->title, sibling ? sibling->title : "(all)"); if (stacking_occluded(client, sibling)) { - if (activate && !client->iconic && client_normal(client)) - /* use user=TRUE because it is impossible to get a timestamp - for this */ - client_activate(client, FALSE, TRUE); - else - stacking_raise(CLIENT_AS_WINDOW(client)); + stacking_raise(CLIENT_AS_WINDOW(client)); ret = TRUE; } break; @@ -621,12 +613,7 @@ gboolean stacking_restack_request(ObClient *client, ObClient *sibling, "%s\n", client->title, sibling ? sibling->title : "(all)"); if (stacking_occluded(client, sibling)) { - if (activate && !client->iconic && client_normal(client)) - /* use user=TRUE because it is impossible to get a timestamp - for this */ - client_activate(client, FALSE, TRUE); - else - stacking_raise(CLIENT_AS_WINDOW(client)); + stacking_raise(CLIENT_AS_WINDOW(client)); ret = TRUE; } else if (stacking_occludes(client, sibling)) {