xdg-shell: Maximum recommended size
Currently, when I client is sent a 0x0 configure, especially on their first configure, there is no reliable way to know what the maximum reasonable size they should make their window. Currently, you need to rely on heuristics based on output sizes, which doesn't take things such as panels into account.
An example use case is an image viewer that ideally would create their window at a size so the image is displayed without scaling. If it's opened with a very large image (e.g. 5000x5000), it's likely that their window is going to cover the entire output and go off of the edges, which is a poor user experience.
I think we should add a new configuration event to xdg-shell with a "maximum recommended window size", which gives the client a good idea of what the upper limit should be in the 0x0 case. Note that it would be a hint and not a protocol error to exceed these dimensions; a user could intentionally size a window so that it goes out of these hints.
A typical compositor would implement this as just the output size the surface will be displayed on, minus any panels. In the case of a surface spanning multiple outputs, the implementation is not as obvious. In compositors without a traditional desktop (e.g. VR), they could send 0x0 here too to mean "there really is no reasonable upper limit" or perhaps this event could be optional in the configuration sequence.