Weston : ideas about xdg_sell, and implementation for a taskbar

Bill Spitzak spitzak at gmail.com
Thu Jan 30 15:31:33 PST 2014


> - When the compositor creates a shell_surface having the TOPLEVEL type,
> it sets a numeral ID for it, and sends a "map" event to the 
> desktop_shell client ;

You must allow a "toplevel" to become a non-toplevel and vice-versa, 
otherwise useful api for rearranging windows is impossible. My 
recommendation is that a surface has a "parent" that can be changed at 
any time to any other surface or to NULL, the only restriction is that a 
loop cannot be created. In any case please do not make a "type" called 
TOPLEVEL.

> - if it should be hidden, then the compositor sends the shell_surface to 
> a new
> weston_layer named "taskbar_layer". This layer is not displayed at all.

NO! The compositor must only send a "hide request" to the client. The 
client MUST be in final control over when and how it's surfaces 
disappear. This is to allow it to atomically remove child surfaces or to 
reparent them to other surfaces that are not being hidden.

> When their "minimize" button is pressed, they now call a 
> taskbar_move_surface()
> function which will do the former, and additionally send a hint to the 
> desktop_shell
> that this has been done (so the corresponding taskbar button stays tuned).

I'm not clear on why the former api can't do this and you felt a new api 
had to be added.


More information about the wayland-devel mailing list