}
}
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);
occludes = TRUE;
break;
}
- else if (c->layer > client->layer)
+ else if (c->layer < client->layer)
break; /* we past its layer */
}
}
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);
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);
"%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);