From a16a489a43aef03e198630f80d8236b56052b6f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Wed, 13 May 2015 23:10:19 +0200 Subject: [PATCH] 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 --- layers.cpp | 6 ++++++ workspace.cpp | 3 +++ 2 files changed, 9 insertions(+) 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(); + } } } }