Showing Desktop: keep docks visible
REVIEW: 123783 BUG: 346933 BUG: 347212 CCBUG: 346837 FIXED-IN: 5.3.1
This commit is contained in:
parent
e6176ffc02
commit
f3b69b0ed0
2 changed files with 16 additions and 5 deletions
|
@ -826,11 +826,18 @@ Layer Client::layer() const
|
|||
|
||||
Layer Client::belongsToLayer() const
|
||||
{
|
||||
// NOTICE while showingDesktop, desktops move to the AboveLayer
|
||||
// (interchangeable w/ eg. yakuake etc. which will at first remain visible)
|
||||
// and the docks move into the NotificationLayer (which is between Above- and
|
||||
// ActiveLayer, so that active fullscreen windows will still cover everything)
|
||||
// Since the desktop is also activated, nothing should be in the ActiveLayer, though
|
||||
if (isDesktop())
|
||||
return workspace()->showingDesktop() ? AboveLayer : DesktopLayer;
|
||||
if (isSplash()) // no damn annoying splashscreens
|
||||
return NormalLayer; // getting in the way of everything else
|
||||
if (isDock()) {
|
||||
if (workspace()->showingDesktop())
|
||||
return NotificationLayer;
|
||||
// slight hack for the 'allow window to cover panel' Kicker setting
|
||||
// don't move keepbelow docks below normal window, but only to the same
|
||||
// layer, so that both may be raised to cover the other
|
||||
|
|
|
@ -1207,11 +1207,15 @@ void Workspace::setShowingDesktop(bool showing)
|
|||
StackingUpdatesBlocker blocker(this); // updateLayer & lowerClient would invalidate stacking_order
|
||||
for (int i = stacking_order.count() - 1; i > -1; --i) {
|
||||
Client *c = qobject_cast<Client*>(stacking_order.at(i));
|
||||
if (c && c->isOnCurrentDesktop() && c->isDesktop() && c->isShown(true)) {
|
||||
c->updateLayer();
|
||||
lowerClient(c);
|
||||
if (!topDesk)
|
||||
topDesk = c;
|
||||
if (c && c->isOnCurrentDesktop()) {
|
||||
if (c->isDock()) {
|
||||
c->updateLayer();
|
||||
} else if (c->isDesktop() && c->isShown(true)) {
|
||||
c->updateLayer();
|
||||
lowerClient(c);
|
||||
if (!topDesk)
|
||||
topDesk = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
} // ~StackingUpdatesBlocker
|
||||
|
|
Loading…
Reference in a new issue