Merged requested to merge jadahl/mutter:wip/stop-peeking-at-side-effects into master
When the MetaWindow resize machinery for toplevels ended up in the Wayland window implementation, we tried to avoid configuring not-yet-mapped windows that just had its zero sized dimension pass through the constraint machinery, resulting in a 1x1 sized window. If we'd properly set up the min size metadata earlier, that 1x1 would likely be the minimum size set of a window, which makes things harder to predict when peeking at side effects. However, what the side effect peeking intends to do, as documented in the comment, was to figure out when the client hadn't committed any buffer yet, i.e. during the initial map, and in those cases avoid sending that nasty 1x1 size, resulting in silly window sizes. A more robust way to detect this is instead checking when we shouldn't really try resize things our own way, and in those cases early out as was done before. This means that, for a yet to me mapped window, we only ever want to send an initial non-zero configuration when 1) it's initially maximized, 2) initially fullscreen, or 3) initially tiled in any way, as those are the situations where the compositor is the one deciding the size.
Also adds a test for checking initial maximized window sizes.