Bug 460873

Summary: Missing Wayland API to access Kwin's "keep above others" and "show on all desktops"
Product: [Plasma] plasma-wayland-protocols Reporter: Oded Arbel <oded>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: REPORTED ---    
Severity: normal CC: aleixpol, dashonwwIII, fedin-ilja2010, jlp, kde, nate, openusr, r3m1.benoit, vlad.zahorodnii, xaver.hugl
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=413636
Latest Commit: Version Fixed In:

Description Oded Arbel 2022-10-22 23:26:49 UTC
SUMMARY

The current org_kde_plasma_surface API is missing two APIs that are very useful for "quality of life" utilities such as yakuake, and were previously accessible on X11 (and similar APIs are available for applications runnong on the other popular windowing environments: Win32 and Cocoa):
1. "Keep above" - allow an application to request to be shown above other windows.
2. "Show on all desktops" - allow an application to appear on all virtual desktops at the same time.

Both of these behaviors are available through the window operations menu or by setting window rules, but both are not great workaround to the ability of the application to set these features:
1. Setting these through the window operations menu only applies to one window - if the application opens and closes (like yakuake does all the time, its kind of its point), then the window operations has to be manually repeated.
2. Using window rules is an advanced feature that most users won't know how to or be comfortable using.

I've also looked into the org_kde_plasma_window_management interface, which offers all of these features - but apparently that interface is not accessible to mere user applications.

The plasma/kwin specific org_kde_plasma_surface interface should offer these features, similar to how it currently offers the "skip taskbar" and "skip switcher" features.
Comment 1 openusr 2024-01-11 20:37:16 UTC
Encountering this on Fedora 39. Would greatly appreciate a fix.

Small description of the Window Rules workaround (might be useful for those searching):

- KDE Settings -> Window Management -> Window rules
- use button Detect Window Properties -> choose Yakuake window
	- name etc. is seen
	- search for "Keep above other windows"
	- click to add
- define the rule
	- Description: e.g. yakuake top
	- Window class (application): org.kde.yakuake
	- Match whole window class: No
	- Match window types: All selected
	- Arrangement and access
		- Keep above other windows: "Force" + Yes
-> Apply