Weston : ideas about xdg_sell, and implementation for a taskbar
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 :
> And with regards to our former conversation, I added a logic that allows
> the client to "know" when it has been minimized :
More information about the wayland-devel