Skip to content

Wayland: Popup Implementation#4543

Draft
Murmele wants to merge 17 commits intorust-windowing:masterfrom
Murmele:popup
Draft

Wayland: Popup Implementation#4543
Murmele wants to merge 17 commits intorust-windowing:masterfrom
Murmele:popup

Conversation

@Murmele
Copy link
Copy Markdown

@Murmele Murmele commented Mar 25, 2026

This is just an initial work and is far away from finished. It is just to state that I am working on it.
The idea is to keep using the WindowState also for the popup, just extending it for the popup. So I don't have to change anything in the winit code

Related issues: #403 and #4256

  • Tested on all platforms changed
  • Added an entry to the changelog module if knowledge of this change could be valuable to users
  • Updated documentation to reflect any user-facing changes, including notes of platform-specific behavior
  • Created or updated an example program if it would help users understand this functionality

TODO:

  • Correct location positioning. Partially done. The window decoration is still considered which is not correct
  • Option to hide the popup when loosing focus
  • Option to specify if the child window is a popup or a dedicated window

Murmele added 7 commits March 24, 2026 16:46
Description: The PopupHandler trait must not be implemented for a new type but for the WinitState. In this case the events get forwarded to this implementation
Description: wl_surface commit must be called
… because the windowid is not in the windows list.
@madsmtm madsmtm added DS - wayland Affects the Wayland backend, or generally free Unix platforms S - platform parity Unintended platform differences labels Mar 26, 2026
Murmele added 10 commits March 26, 2026 08:59
Reason: Because a normal window can have a parent window as well, like a Dialog
Reason: otherwise the child surface is anchored to the center
Reason: Because we are using the window state
Reason: it is not required after configuration anymore
Reason: otherwise the height of the client side decoration is not considered and therefore the location is shifted
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DS - wayland Affects the Wayland backend, or generally free Unix platforms S - platform parity Unintended platform differences

Development

Successfully merging this pull request may close these issues.

2 participants