Just start Xephyr as a child: --start=Xephyr -resizeable
, then it goes into a spin as soon as you try to resize it. Log attached.
log of server endless resize loop
Sequence of events from the log sample above:
_process_configure_window
with the new dimensions
updateprop
fires the notification, which triggers XpraServer._window_resized_signaled
where we correctly detect that the window geometry matches the desktop manager's value (which we just updated from the client)
_do_update_client_geometry
sends a ConfigureNotify
, which we ignore on the corral window: we only invalidate the pixmap, on the client window we end up in resize_corral_window
which is a no-op since the dimensions match
All further events follow the same pattern. That's before the problem occurs.
At some point we stop resizing yet the stream of ConfigureNotify
events does not stop: whilst we resize the corral window (up or down), Xephyr is busy resizing its own window to match, and then we try to match this size.. causing the loop:
resize_corral_window() resize from (712, 481) to (705, 480) resize_corral_window() resize from (705, 480) to (712, 481) resize_corral_window() resize from (712, 481) to (705, 480)
etc
Maybe #723 would help with this? Or this patch: ephyr: Don't configure window while responding to configure events
actual ConfigureNotify? loop
trying to rate limit corral window resizing
upstream patch
The bug is fixed in Xephyr by applying the patch attached, I have requested its inclusion in a future stable update: Re: ephyr: Don't configure window while responding to configure events
Closing as not an xpra bug. Follow up ticket: #1249, further Xephyr geometry issues.
Milestone renamed
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1248