Weston : ideas about xdg_sell, and implementation for a taskbar

Bill Spitzak spitzak at gmail.com
Mon Feb 10 12:42:06 PST 2014

I need to read the rest of the responses, but this does *not* sound like 
what I think is necessary. There should not be any need for an event 
saying "you have been minimized" as this should never happen without the 
client first requesting it.

As I see it, if the compositor decides to minimize the window it sends 
your xdg_surface_request_set_minimized event. Nothing on-screen changes yet.

The client gets this request, or interprets some other action (like 
clicking the minimize button on the window border). It then rearranges 
the window parent tree in any way it wants, so that windows it wants to 
disappear atomically are children of the minimized window, and windows 
it does not want to disapper are not. It then sends 
xdg_surface_set_minimized command to the compositor.

The compositor is expected to respond to this by doing whatever it 
considers "minimizing" to the surface and all current child surfaces.

A client "knows" it has been minimized because it sents a minimize 
request. There should not be any other way that the client is minimized 
and therefore there is no need for communication saying this.

The compositor *may* detect dead clients that are not responding to 
pings or just don't respond quickly to the minimize request event, and 
do the minimize anyway. But this is not normal behavior. In normal 
behavior the client has absolute final say over what happens.

As an aside, I think to avoid a huge number of requests and responses, 
there should instead be a single request and response with a bit flag 
saying what states are "on", with rules over what takes precedence. For 
instance "minimized" takes precedence over "fullscreen" and that takes 
precedence over "maximized".

Manuel Bachmann wrote:
> Hi Bill, hi Jasper, hi everybody again,
> I just updated my taskbar code to make it work against Weston 1.4.0 :
> https://github.com/Tarnyko/weston-taskbar/tree/1.4.0-taskbar
> And with regards to our former conversation, I added a logic that allows 
> the client to "know" when it has been minimized :
> https://github.com/Tarnyko/weston-taskbar/commit/7b456ef103e9dd0e37d7cf74e55d87f7ffa64be9

More information about the wayland-devel mailing list