Add z-order control into kiosk-shell?
Hoosier, Matt
Matt.Hoosier at garmin.com
Fri Oct 1 19:32:04 UTC 2021
I've been very happy to see kiosk-shell get introduced in the past year or so. It seems to tick nearly every box that I frequently find myself wanting when trying to do embedded deployment of pre-existing Wayland apps which expect to use the customary desktop-centric shells:
* declarative control over which output gets which surface
* force the apps full-screen by default
* no new protocols needed
So this is really nice. Much lower barrier to entry than IVI Shell, and certainly a better re-use story for off-the-rack applications.
But there's a niche that doesn't have any obvious answer yet: controlling the stacking order of different toplevel apps. It's fairly common to construct an embedded system using distributed rendering from separate programs. This means you need a way to control which things go above or below each other to achieve the overall effect.
Would there be any interest in a contribution to enhance kiosk-shell to support configurable stacking orders? This might take the form of either relative specifications ("desktop surface XYZ always goes above desktop surface UWV") or absolute z-order specifications ("desktop surface XYZ's surfaces go into weston_layer #17").
I haven't thought deeply yet about how the syntax for setting the stacking-order configuration in weston.ini would look. Maybe some kind of subscript annotation following the surface ID?
[output]
name=LVDS1
# app1 goes in weston_layer 0. app2 goes in weston_layer 1
app-ids=org.domain.app1[0],com.domain.app2[1]
Or maybe allow more than one "app-ids" line, keyed by a subscript?
[output]
name=LVDS1
app-ids[layer0]=org.domain.app1,...
app-ids[layer1]=org.domain.app3,...
-Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20211001/3aec9be4/attachment.htm>
More information about the wayland-devel
mailing list