[weston PATCH v6 1/2] add implementation for set_maximised
spitzak at gmail.com
Mon Feb 6 13:08:38 PST 2012
Pekka Paalanen wrote:
> As long as clients know nothing about the global coordinate system,
> nothing about "remember position" can be completely implemented client
> side. I expect at some point we would add shell protocol to achieve
> "remember layout" somehow, but I very much doubt it will deliberatly
> expose the global coordinate system to the clients.
I'm rather confused: I thought clients were well aware of the "global
coordinate system" in that the current transformation of their surface
is how it's location maps to the global coordinate system, and clients
are allowed to set this transform.
> The output choosing code in the server would likely take the surface
> bounding box, and find the output where most of the surface is. This is
> how it already works, when we choose which output to synchronise the
> surface to.
Yes this is exactly what I want to enforce, by making sure the client
cannot send any information other than "this is the box it would be in
if not maximized, and I want it maximized". The client is not allowed to
choose the output except by giving the unmaximized location, so there
cannot be conflicting information when the compositor wants to maximize
Current X window managers split this information in unfortunately ways,
requiring me to map an un-maximized window and then maximize it, often
with an unavoidable on-screen glitch as the user sees the unmaximized
size. My concern was that the client api allow both to be sent at the
same time. Without this it is impossible for clients to save layouts
with all the user's preferences such as what windows are maximized.
More information about the wayland-devel