If a window is set to "Keep above" all other windows, when "Show Desktop" is hit, the window remains on-screen and unaffected by animations. Clicking anywhere but the active window results in it unceremoniously vanishing, but it can still be manipulated and used until the user clicks outside, which makes it vanish. Hitting "Show Desktop" again will make it pop up unanimated. "Show Desktop" should probably deal with "Keep Above" windows properly like the rest of the window management effects by having it hidden away just like all the other windows. Looks buggy at the moment.
Git commit 1e2a0028c3151cb38f252baa78a5f22b8cd7c7e6 by Vlad Zagorodniy. Committed on 02/04/2019 at 20:44. Pushed by vladz into branch 'master'. Move keep-above clients to the Normal layer when showing desktop Summary: Implementation of the Show Desktop feature moves desktop windows to the Above layer, but it doesn't take into account existing clients that belong to the Above layer. If there are any, we have to move them to a layer below (e.g. normal), otherwise those clients will be visible when showing the desktop. Reviewers: #kwin, graesslin Reviewed By: #kwin, graesslin Subscribers: graesslin, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D20153 M +1 -1 abstract_client.cpp M +3 -1 workspace.cpp https://commits.kde.org/kwin/1e2a0028c3151cb38f252baa78a5f22b8cd7c7e6
Git commit 8010e076ee2dbcaaa39f777b2ea6dc96a5495d6f by Vlad Zagorodniy. Committed on 16/04/2019 at 08:10. Pushed by vladz into branch 'master'. Revert "Move keep-above clients to the Normal layer when showing desktop" This reverts commit 1e2a0028c3151cb38f252baa78a5f22b8cd7c7e6. Unfortunately, we can't move clients from the above layer to the normal layer because some of those clients have to be visible when showing desktop, one such client for example is krunner. M +1 -1 abstract_client.cpp M +1 -3 workspace.cpp https://commits.kde.org/kwin/8010e076ee2dbcaaa39f777b2ea6dc96a5495d6f
The behavior described here persists on neon dev unstable. Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.15.80 KDE Frameworks Version: 5.58.0 Qt Version: 5.12.0
The fix was reverted because it broke other things, unfortunately. So it looks like this behavior is here to stay and is not considered to be "as designed." :/
I mean, *now* considered as designed. :)
Well, no. The bug is still there.
Git commit a7f41f26bbed92c153d2b47fb4ad295713f2f8e6 by Vlad Zahorodnii. Committed on 01/06/2023 at 08:59. Pushed by vladz into branch 'master'. Make show desktop mode hide windows After porting the desktop background window to the layer-shell protocol, the desktop window is not raised up in the stack anymore when the showing desktop window is activated. The main reason to avoid this is to avoid fighting and overriding layer shell logic. As another way to implement the show desktop mode, this change makes the workspace hide windows that don't belong to desktop. It's a better solution for a couple of reasons: "keep above" and other overlay windows will be properly hidden and it lets us avoid touching the stacking order. Related: bug 387593, bug 469827 M +5 -0 src/activation.cpp M +1 -0 src/effects.cpp M +1 -0 src/effects.h M +2 -2 src/input.cpp M +1 -1 src/internalwindow.cpp M +1 -1 src/libkwineffects/kwinanimationeffect.cpp M +6 -0 src/libkwineffects/kwineffects.h M +23 -80 src/plugins/eyeonscreen/package/contents/code/main.js M +2 -11 src/plugins/windowaperture/package/contents/code/main.js M +2 -1 src/scene/windowitem.cpp M +1 -1 src/scripting/workspace_wrapper.cpp M +1 -1 src/waylandwindow.cpp M +19 -12 src/window.cpp M +6 -1 src/window.h M +14 -26 src/workspace.cpp M +16 -15 src/x11window.cpp M +2 -1 src/x11window.h M +0 -3 src/xdgshellwindow.cpp https://invent.kde.org/plasma/kwin/-/commit/a7f41f26bbed92c153d2b47fb4ad295713f2f8e6