https://bugs.kde.org/show_bug.cgi?id=489983

--- Comment #5 from Frank Praznik <frank.praz...@gmail.com> ---
(In reply to Zamundaaa from comment #3)
> > The window size sent in the configure event for floating windows is just a 
> > hint, so I don't think that SDL is in the wrong here by ignoring it in 
> > favor of what it knows to be correct
> It's not just a hint. It's a maximum to allow resizing to a specific aspect
> ratio, but it is not meant to allow clients to decide an arbitrary size. If
> the client is supposed to pick a size, the compositor will send a configure
> event with size 0.
> In practice, doing this on the client side will break our placement tracker
> restoring window state after display hotplug events.
> 

The spec only states that the width/height are a maximum if  the window is
fullscreen or being interactively resized, and must be precisely obeyed in the
maximized state. Otherwise, it says "The width and height arguments specify a
hint to the window about how its surface should be resized in window geometry
coordinates"

Nothing in the spec states that the size must be considered a maximum in the
floating state, and even if it was, a client sending a smaller size, as in this
case, shouldn't be an issue.

There is always the option to not ack the configure event if the requested
floating size is not precisely obeyed, but that results in the window not being
placed back where it was when leaving the maximized state.

> > which it has historically had to do since some older compositors would send 
> > incorrectly resize the window when transitioning from non-floating to 
> > floating states
> Is that causing practical issues, or is it just making the size wrong? If
> it's the latter, please just drop that workaround. If the compositor is
> doing things that users don't like, it's up to the compositor to stop doing
> that.

If I remember correctly, the workaround was originally introduced years ago due
to Mutter shrinking the floating window when leaving fullscreen. That seems to
be fixed in 46.2, but I'll have to check on the versions in LTS distros. But
yes, it was solving a practical problem. The SDL automated tests also check
that the proper size is restored upon leaving a fixed-size state such as
maximized or fullscreen.

Even if SDL always obeys and passes through the size it receives, the client
app/game can arbitrarily resize itself at any point, and if it does so between
the initial restored configure event and the correction, the current behavior
will cause the window to shrink and overwrite the client requested size.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to