[PATCH wayland v3] protocol: Add minimize/maximize protocol

Bill Spitzak spitzak at gmail.com
Thu Mar 21 15:39:29 PDT 2013


I think (though certainly have not proven) that the current "commit" 
mechanism will work for this. The client connects surfaces together into 
a tree, and when a change is made to a surface the compositor does not 
display the new version until a "commit" is done on either it or a 
parent surface. In effect the "begin_atomic" is automatically done for 
you, and "commit" is the "end_atomic".

There are currently attempts to use it to synchronize subsurfaces. IMHO 
there is absolutely no difference between subsurfaces and floating 
windows so I think any solution here will apply to the floating windows.

No matter what scheme is used, however, it does require that the client 
decide whether to minimize a surface or not, so it can combine that 
minimization with other changes into an atomic operation.

Jason Ekstrand wrote:
> Bill,
> 
>> The API must be designed so that no composite other than the initial and
>> final is ever produced, even for a split second, for each of these
>> transitions. By "other composite" I mean any different stacking order or any
>> where the set of visibility of surfaces is different.
> 
> I think this is a valid issue, but I'm not sure if we can really solve
> it easily by building it into the max/min protocol.
> 
> You've brought this issue of synchronization up before on other
> topics, so I think it's probably more general than simply maximizing
> and minimizing.  One thought would be to add some sort of "atomic"
> support to the protocol.  For instance, you could have "begin_atomic"
> and "end_atomic" requests in wl_display that would tell the compositor
> that whatever requests it receives between begin_atomic and end_atomic
> should occur in a single frame.  This would probably require some
> additional support in libwayland to handle the threading issues
> properly but I think it could probably be done.  Obviously such a
> thing would have to be used with extreme care and only short sequences
> should be atomic.
> 
> To be honest, I haven't given that much thought.  However if you
> wanted to play with it and send a patch to the ML, I'd be more than
> happy to take a look at it.
> 
> Thanks,
> --Jason Ekstrand


More information about the wayland-devel mailing list