Bug 470144

Summary: Yakuake: Wayland keep above other windows not functional
Product: [Applications] yakuake Reporter: omg.qkqsb
Component: generalAssignee: Eike Hein <hein>
Status: ASSIGNED ---    
Severity: normal CC: dashonwwIII, fedin-ilja2010, i, iamgrief, inb-bugzilla-1e1cff, jetchko.jekov, kaminchyk, lukas.probsthain, michal.harlacz.2k7, nilskemail+kde, oded, szymon.janc, s_chriscollins, yt7p1vpsr, yule2000
Priority: NOR Keywords: wayland-only
Version First Reported In: 23.04.1   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description omg.qkqsb 2023-05-22 20:12:40 UTC
SUMMARY
***
Keep window above others setting does not work for me when in Wayland. This feature works as expected on X11 with Yakuake being above panels and other windows.

Likely related to https://bugs.kde.org/show_bug.cgi?id=360581
but suggested fix to toggle setting on and off does not do anything, and no mention of Wayland is made in the bug.

STEPS TO REPRODUCE
1. Start system in Wayland
2.  Open Yakuake
3.  Immediately upon opening Yakuake is under panel, but over windows. Clicking on another window Yakuake goes behind window.

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.106.0
Qt Version: 5.15.9

ADDITIONAL INFORMATION
Comment 1 Ben Bonacci 2023-05-23 11:17:09 UTC
I can also reproduce this issue on Yakuake 23.04.1 with Wayland. It appears to only affect Yakuake as other programs can be shown on top without any issues on Wayland. I also couldn't find any useful logs that could explain what's happening.
https://invent.kde.org/utilities/yakuake/-/blob/master/app/mainwindow.cpp may give some clues if Yakuake or KWayland is to blame.
Comment 2 lukas.probsthain 2023-08-29 12:44:14 UTC
After reading the code for the functionality of keeping the terminal above other windows, I'm convinced that it's not implemented for wayland:
https://invent.kde.org/utilities/yakuake/-/blob/master/app/mainwindow.cpp?ref_type=heads#L952
Comment 3 omg.qkqsb 2024-01-16 05:04:50 UTC
This can be fixed with a custom window rule, however I still believe this should be default behavior like it is on X11. Staying on top of other windows is a crucial part of what Yakuake should do.
Comment 4 Oded Arbel 2024-02-23 20:17:36 UTC
This is a missing feature in Wayland, and while kwin has implemented various other missing features as well as offering "keep above" as a window rule, there is yet an API to allow application to ask to be kept above others - see bug #460873 for a request for this feature.

(In reply to Ben Bonacci from comment #1)
> It appears
> to only affect Yakuake as other programs can be shown on top without any
> issues on Wayland.

Can you share an example of an application that does manage to keep itself above other windows? As far as I know it is not possible, unless you are a privileged client - such as the plasma shell.
Comment 5 Christian Muehlhaeuser 2024-03-13 07:53:06 UTC
*** Bug 483326 has been marked as a duplicate of this bug. ***
Comment 6 Jetchko Jekov 2024-03-13 07:59:57 UTC
I tested with Konsole for example.
If I select 'Keep Above Others' in the window menu -> More Actions it works as expected.
Comment 7 Oded Arbel 2024-03-13 12:19:59 UTC
(In reply to Jetchko Jekov from comment #6)
> I tested with Konsole for example.
> If I select 'Keep Above Others' in the window menu -> More Actions it works
> as expected.

This is the KWin UI exposing the KWin functionality. The missing Wayland feature is for the application to request - programmatically - to be shown above other windows.

This issue should now be fixable by using the layer shell protocol (https://wayland.app/protocols/wlr-layer-shell-unstable-v1) which is non standard but should work well under kwin. I'll see if I can take a stab at it.
Comment 8 Bug Janitor Service 2025-02-14 14:01:23 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/yakuake/-/merge_requests/137
Comment 9 Szymon Janc 2025-06-18 15:01:07 UTC
I was going to report this exact bug for Yakuake 25.04.2... any chance it gets fixed? 

This works just fine with X11 but with recent drama and distros announcing dropping any support for X11 fallback to X11 won't be an option anymore.
Comment 10 Ilya Fedin 2025-06-18 15:15:07 UTC
Given that yakuake uses plasmashell protocol to be usable... maybe install a kwin rule on launch and change it on settings change?
Comment 11 Ilya Fedin 2025-06-18 15:22:15 UTC
Or maybe switch to https://invent.kde.org/plasma/layer-shell-qt, it doesn't let to set position in pixels but has anchors and LayerTop/LayerOverlay which apparently make the surface above others
Comment 12 Szymon Janc 2025-09-30 07:06:49 UTC
For the record in case someone hits this too: I was able to workaround this by applying window rules to yakuake  that forces 'on-screen display' property  (System settings -> Window Behavior -> Window Rules)

With this yakuake behaves on Wayland as I'd expect it to (ie same as on X11)