xdg-shell: clarify behavior when only one dimension is set to zero in configure
Currently the protocol says:
If the width or height arguments are zero, it means the client
should decide its own window dimension. This may happen when the
compositor needs to configure the state of the surface but doesn't
have any information about any previous or expected dimension.
This can be interpreted as: if one dimension is zero and the other is non-zero, then the client should use the non-zero dimension and decide the zero dimension itself. However, currently clients don't seem to be doing this:
- GTK 4, Winit, Qt 5, weston-terminal, GTK 3 treat it as if both dimensions were zero
- foot seems to think the one zero dimension is actually requesting a zero size in that dimension
There's some use to setting just one dimension, but I guess since most existing clients treat it as if both dimensions are zero, the protocol should explicitly say that that is the expected behavior?
Edited by Ivan Molodetskikh