Show Desktop: keep desktop group visible
Windows that "belong" to the desktop are kept visible and do no break the state on activation/mapping REVIEW: 123783 CCBUG: 346837 CCBUG: 346933 CCBUG: 347212
This commit is contained in:
parent
f3b69b0ed0
commit
a16a489a43
2 changed files with 9 additions and 0 deletions
|
@ -851,6 +851,12 @@ Layer Client::belongsToLayer() const
|
||||||
return OnScreenDisplayLayer;
|
return OnScreenDisplayLayer;
|
||||||
if (isNotification())
|
if (isNotification())
|
||||||
return NotificationLayer;
|
return NotificationLayer;
|
||||||
|
if (workspace()->showingDesktop()) {
|
||||||
|
foreach (const Client *c, group()->members()) {
|
||||||
|
if (c->isDesktop())
|
||||||
|
return AboveLayer;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (keepBelow())
|
if (keepBelow())
|
||||||
return BelowLayer;
|
return BelowLayer;
|
||||||
if (isActiveFullScreen())
|
if (isActiveFullScreen())
|
||||||
|
|
|
@ -1215,6 +1215,9 @@ void Workspace::setShowingDesktop(bool showing)
|
||||||
lowerClient(c);
|
lowerClient(c);
|
||||||
if (!topDesk)
|
if (!topDesk)
|
||||||
topDesk = c;
|
topDesk = c;
|
||||||
|
foreach (Client *cm, c->group()->members()) {
|
||||||
|
cm->updateLayer();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue