Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wayland updates for new xdg_toplevel and libdecor functionality #11358

Merged
merged 3 commits into from
Oct 28, 2024

Conversation

Kontrabant
Copy link
Contributor

Throttles interactive resize events, which significantly reduces lag when resizing windows, and no longer blindly sends a minimize event if the window manager doesn't actually support the minimize operation.

This needs a new release of libdecor with the existing upstream changes for all of the functionality to work on that path, but I've been sitting on these changes for months waiting for a new libdecor release and wanted to get this pushed so at least the xdg_toplevel path can benefit right now. With these changes, resizing the UE5 editor window in particular is now much smoother, as is resizing libdecor windows with the GTK decorations.

Excessive resize events generated during interactive window resizing can cause applications to lag, severely in some cases. Throttle interactive resize events to once per frame callback interval.
Wayland gives no feedback to windows regarding whether a minimize request was successful, so we would universally send the minimize event and assume that the request succeeded.

Check the window manager capabilities, if available, for whether window minimization is supported, and don't send the minimized event in the case that it is unsupported.
@Kontrabant Kontrabant merged commit 36c2090 into libsdl-org:main Oct 28, 2024
38 checks passed
@Kontrabant Kontrabant deleted the wayland_throttle_resize branch October 28, 2024 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant