[weston PATCH v6 1/2] add implementation for set_maximised

Bill Spitzak 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 
a window.

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 mailing list