Bug 469827 - Invoking "Show Desktop" via widget or global shortcut is broken in Plasma 6 on Wayland
Summary: Invoking "Show Desktop" via widget or global shortcut is broken in Plasma 6 o...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: qt6, regression
Depends on:
Blocks:
 
Reported: 2023-05-16 01:34 UTC by Nate Graham
Modified: 2023-06-01 09:20 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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