Changeset View
Changeset View
Standalone View
Standalone View
workspace.cpp
Show First 20 Lines • Show All 1270 Lines • ▼ Show 20 Line(s) | 1265 | { | |||
---|---|---|---|---|---|
1271 | 1271 | | |||
1272 | AbstractClient *topDesk = nullptr; | 1272 | AbstractClient *topDesk = nullptr; | ||
1273 | 1273 | | |||
1274 | { // for the blocker RAII | 1274 | { // for the blocker RAII | ||
1275 | StackingUpdatesBlocker blocker(this); // updateLayer & lowerClient would invalidate stacking_order | 1275 | StackingUpdatesBlocker blocker(this); // updateLayer & lowerClient would invalidate stacking_order | ||
1276 | for (int i = stacking_order.count() - 1; i > -1; --i) { | 1276 | for (int i = stacking_order.count() - 1; i > -1; --i) { | ||
1277 | AbstractClient *c = qobject_cast<AbstractClient*>(stacking_order.at(i)); | 1277 | AbstractClient *c = qobject_cast<AbstractClient*>(stacking_order.at(i)); | ||
1278 | if (c && c->isOnCurrentDesktop()) { | 1278 | if (c && c->isOnCurrentDesktop()) { | ||
1279 | if (c->isDock()) { | 1279 | // When showing desktop we'd like to raise docks above desktop | ||
1280 | // windows and move keep-above clients to the normal layer. | ||||
1281 | if (c->isDock() || c->keepAbove()) { | ||||
1280 | c->updateLayer(); | 1282 | c->updateLayer(); | ||
1281 | } else if (c->isDesktop() && c->isShown(true)) { | 1283 | } else if (c->isDesktop() && c->isShown(true)) { | ||
1282 | c->updateLayer(); | 1284 | c->updateLayer(); | ||
1283 | lowerClient(c); | 1285 | lowerClient(c); | ||
1284 | if (!topDesk) | 1286 | if (!topDesk) | ||
1285 | topDesk = c; | 1287 | topDesk = c; | ||
1286 | if (auto group = c->group()) { | 1288 | if (auto group = c->group()) { | ||
1287 | foreach (Client *cm, group->members()) { | 1289 | foreach (Client *cm, group->members()) { | ||
▲ Show 20 Lines • Show All 486 Lines • Show Last 20 Lines |