x11: Fix geometry wooes
commit #2
:
Currently, there is an assumption in the moveResizeInternal() method that if the buffer geometry changes, then the client geometry will also change. However, as it turns out, it's not completely true. For example, if the window is maximized while its geometry already matches the maximize area, the buffer geometry won't change, but the client geometry will change.
This change adds missing geometry checks. *geometryBeforeBlocking corresponds to the old geometry. We can use it to decide if the geometry has changed.
commit #4
:
If the window borders change in such a way that the buffer geometry doesn't change, but the client geometry does change, we need to configure the wrapper window and maybe the client window so there are no black borders, etc.
(this is a quite old bug, it is probably worth backporting to 5.22)