Fix high CPU usage on tiling WMs when moving windows across monitors (#737)

This commit restricts an Xfwm4-specific DPI-preserving hack to Xfwm4
only. The hack saves and restores the DPI-adjusted size until the actual
size matches. On tiling WMs like i3 this fails, since the size is
constrained by the layout. This in turn causes a never-ending
XResizeWindow vs. XConfigureWindow fight between the WM and the client,
making the WM, winit client, and Xorg consume all CPU cycles available.
This commit is contained in:
Jasper Mattsson 2018-12-19 05:20:31 +02:00 • committed by Francesca Plebani
parent fd349f1822
commit 4b4c73cee4
2 changed files with 5 additions and 2 deletions

View file

@ -1,5 +1,6 @@
# Unreleased
- On X11 with a tiling WM, fixed high CPU usage when moving windows across monitors.
- On X11, fixed panic caused by dropping the window before running the event loop.
- Introduce `WindowBuilderExt::with_app_id` to allow setting the application ID on Wayland.
- On Windows, catch panics in event loop child thread and forward them to the parent thread. This prevents an invocation of undefined behavior due to unwinding into foreign code.