Bug 476834 - Panel popups are xdg-toplevels, positioned wrongly on Sway
Summary: Panel popups are xdg-toplevels, positioned wrongly on Sway
Status: RESOLVED LATER
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: 5.27.80
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2023-11-11 11:19 UTC by Rose Hudson
Modified: 2023-11-11 12:12 UTC (History)
2 users (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 Rose Hudson 2023-11-11 11:19:06 UTC
SUMMARY
Plasma panels seem to get positioned correctly in Sway, but clicking on e.g. the speaker opens an audio popup that gets positioned as if it were a normal window - tiled, not adjacent to the panel. With WAYLAND_DEBUG=1, it seems that such popups are being created as xdg-toplevels while an xdg-popup parented to the panel with zwlr_layer_surface_v1::get_popup might be more appropriate and allow them to be positioned as they are under kwin.

STEPS TO REPRODUCE
1. Open Sway
2. Run plasmashell
3. Click on any of the system tray icons

OBSERVED RESULT
The popup gets tiled as if it were a normal window

EXPECTED RESULT
The popup appears next to its icon on the panel

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux with kde-unstable
(available in About System)
KDE Plasma Version: 5.27.80
KDE Frameworks Version: 5.245.0
Qt Version: 6.6.0
Comment 1 David Edmundson 2023-11-11 12:12:01 UTC
We can't make the popups without losing too many features. We have user-resizing and staying open without focus, and notifications dodging both panels and other popups.
It's a deliberate known choice to continue using our older plasma specific protocol which is more flexible.

There is movement in that direction, new public API is based on something very similar to popups

For now running plasmashell on sway is not officially supported.