1. Run any app.
2. Select 'Keep About Others' in it's KWin window settings (in right click on titlebar menu, etc.)
3. Click/trigger 'Show Desktop' action.
Particular window isn't hiding - thus if it's in fullscreen mode desktop is not shown.
There can be additional 'Skip show desktop' (or 'skip autohiding' or something) checkbox in app/window specific settings -> 'Arrangement & Access' tab
Given the code it's expected that the window stays above the desktop. I'm not sure whether it's intended or a bug.
Issue is still present in 5.22.5. Doesn't really make sense to me that the window stays on the desktop in this case and would consider it a bug.
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 406101, 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