Bug 387593 - Windows in AboveLayer are above desktop window in showing desktop mode
Summary: Windows in AboveLayer are above desktop window in showing desktop mode
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: core (show other bugs)
Version: 5.11.4
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-04 15:41 UTC by Alexander Mentyu
Modified: 2023-06-01 09:21 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Mentyu 2017-12-04 15:41:03 UTC
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.

Actual:
Particular window isn't hiding - thus if it's in fullscreen mode desktop is not shown.

Expected:
There can be additional 'Skip show desktop' (or 'skip autohiding' or something) checkbox in app/window specific settings -> 'Arrangement & Access' tab
Comment 1 Martin Flöser 2017-12-04 16:21:20 UTC
Given the code it's expected that the window stays above the desktop. I'm not sure whether it's intended or a bug.
Comment 2 kde.org 2021-11-06 19:56:17 UTC
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.
Comment 3 Vlad Zahorodnii 2023-06-01 09:21:05 UTC
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

https://invent.kde.org/plasma/kwin/-/commit/a7f41f26bbed92c153d2b47fb4ad295713f2f8e6