Bug 469827

Summary: Invoking "Show Desktop" via widget or global shortcut is broken in Plasma 6 on Wayland
Product: [Plasma] kwin Reporter: Nate Graham <nate>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: justin.zobel
Priority: NOR Keywords: qt6, regression
Version: master   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nate Graham 2023-05-16 01:34:24 UTC
STEPS TO REPRODUCE
1. Be in a Plasma 6 Wayland session
2. Trigger the Show Desktop effect either by its Plasma widget, or via the Meta+D global shortcut 


OBSERVED RESULT
The active window's titlebar fades as though it's become inactive, but the desktop does not show


EXPECTED RESULT
It works


ADDITIONAL INFORMATION
I'm building Plasma 6 from source every day and it seems like a recent regression; I could swear this worked during the sprint last week.

Invoking Show Desktop via a screen edge works.


SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 38
KDE Plasma Version: 5.27.80
KDE Frameworks Version: 5.240.0
Qt Version: 6.5.0
Kernel Version: 6.2.14-300.fc38.x86_64 (64-bit)
Graphics Platform: offscreen
Processors: 8 × Intel® Core™ i7-10510U CPU @ 1.80GHz
Memory: 15.2 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics
Comment 1 Vlad Zahorodnii 2023-06-01 09:20:57 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 387593, bug 406101

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