diff --git a/layers.cpp b/layers.cpp index 449cf3a967..bc3a2493f6 100644 --- a/layers.cpp +++ b/layers.cpp @@ -851,6 +851,12 @@ Layer Client::belongsToLayer() const return OnScreenDisplayLayer; if (isNotification()) return NotificationLayer; + if (workspace()->showingDesktop()) { + foreach (const Client *c, group()->members()) { + if (c->isDesktop()) + return AboveLayer; + } + } if (keepBelow()) return BelowLayer; if (isActiveFullScreen()) diff --git a/workspace.cpp b/workspace.cpp index 3479a14bcb..3ea2246cbd 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -1215,6 +1215,9 @@ void Workspace::setShowingDesktop(bool showing) lowerClient(c); if (!topDesk) topDesk = c; + foreach (Client *cm, c->group()->members()) { + cm->updateLayer(); + } } } }