[Bug]: Actions Ring opens under panels/docks on Linux Wayland, and off-cursor on multi-monitor
- Dominant language
- Rust
- Stars
- 21k
- Forks
- 675
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 172
Description
## Summary
On Linux under a Wayland compositor (reproduced on KDE Plasma/KWin), the Actions Ring can open hidden behind a desktop panel or dock, and its position is unreliable on a multi-monitor setup — it can open on the wrong monitor entirely, or offset from the actual cursor position.
## Root cause
- **Panel occlusion**: the overlay opens the ring as a plain `WindowKind::PopUp`, which on Wayland is just another `xdg_toplevel` surface. Nothing about that guarantees it draws above a panel/dock's own always-on-top surface (typically a `zwlr_layer_shell_v1` overlay-layer surface, which genuinely is guaranteed to be on top). A panel can legitimately draw over the ring.
- **Wrong/stale position**: `openlogi_hook::cursor_position()` on Linux queries X11's `query_pointer` via XWayland. Under a native Wayland session this isn't a real Wayland pointer query and doesn't track the actual pointer — it reports a stale, display-ambiguous coordinate (confirmed live: identical coordinates returned across multiple cursor moves and clicks on different monitors).
## Steps to reproduce
1. Run OpenLogi on Linux under a Wayland session (e.g. KDE Plasma/KWin) with a visible panel/dock.
2. Bind a button to `ShowActionsRing`.
3. Press it while the cursor is under/near the panel, or on a secondary monitor.
4. Observe: the ring can render behind the panel, and/or appear on the wrong monitor or away from the actual cursor position.
## Environment
- KDE Plasma (KWin), Wayland session, multi-monitor (primary + secondary at a nonzero global X offset).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the Actions Ring code that uses WindowKind::PopUp and the Linux implementation of openlogi_hook::cursor_position(). Reproduce under KDE Plasma/KWin on Wayland with a panel and multiple monitors, then verify that the ring stays above the panel and opens at the actual cursor on the correct monitor.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100