[Question] Z-order management in Wayland

Pekka Paalanen ppaalanen at gmail.com
Fri Aug 1 00:30:02 PDT 2014


On Thu, 31 Jul 2014 17:21:15 +0900
Carsten Haitzler (The Rasterman) <raster at rasterman.com> wrote:

> On Thu, 31 Jul 2014 01:02:33 -0700 (PDT) yan.wang at linux.intel.com said:
> 
> > E.g. When we start a new application on mobile platform, previous running
> > application could be hidden and paused to reduce power consuming
> > and improve response speed. If we could adjust and get z-order status, we
> > could callback application to sleep. And when user restart this
> > application, we could just make this slept app waked up.
> 
> you do NOT want to do this by raise/lower. even doing this in x11 is just
> WRONG. in fact a good mobile wm setup would refuse to allow this. there is a
> netwm request "netwm activate". this requests the window is activated. this MAY
> raise the window. it may switch desktop. it may de-iconify a window. it may
> also place focus on the window... unless the wm decides that this is a bad idea
> right now.
> 
> you do NOT want a raise/lower etc. in wayland. you want xdg shell and an
> activate request. the compositor after that decides what is best to do.

Actually, for a mobile platform, you do not even want to use xdg_shell,
but a replacement that is designed specifically for mobile. Xdg_shell
is for desktops, and likely contains some useful features for mobile,
but also features that do not make sense on mobile. Mobile also may
want features that are never going to be in xdg_shell.

I know there is come controversy in this, as it means you need to patch
all toolkits/apps to use the replacement protocol, but it also means
those toolkits/apps get tailored so that they actually behave nicely on
mobile UIs.

Just to keep this in mind, if you find xdg_shell not ideal for your
non-desktop-like environment. Of course, nothing prevents you from
sticking to xdg_shell, if its semantics work well; less work for
everyone.


Thanks,
pq


More information about the wayland-devel mailing list