[PATCH wayland-protocols 09/11] xdg-shell/toplevel: Chain multiple parent-child relationships
Jonas Ådahl
jadahl at gmail.com
Wed May 24 09:35:38 UTC 2017
Change the semantics of xdg_toplevel.set_parent to allow chaining
multiple parent-child relationships together, while allowing
arbitrarily unmapping parents, while keeping what is left over of the
chain intact.
This makes things easier to manage when parent-child relationships
cross client borders, for example when using xdg_foreign.
Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Signed-off-by: Mike Blumenkrantz <zmike at osg.samsung.com>
---
stable/xdg-shell/xdg-shell.xml | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml
index 876e13e..fc9a8cd 100644
--- a/stable/xdg-shell/xdg-shell.xml
+++ b/stable/xdg-shell/xdg-shell.xml
@@ -540,9 +540,8 @@
<request name="set_parent">
<description summary="set the parent of this surface">
- Set the "parent" of this surface. This window should be stacked
- above a parent. The parent surface must be mapped as long as this
- surface is mapped.
+ Set the "parent" of this surface. This surface should be stacked
+ this above the parent surface and all other ancestor surfaces.
Parent windows should be set on dialogs, toolboxes, or other
"auxiliary" surfaces, so that the parent is raised when the dialog
@@ -551,6 +550,12 @@
Setting a null parent for a child window removes any parent-child
relationship for the child. Setting a null parent for a window which
currently has no parent is a no-op.
+
+ If the parent is unmapped then its children are managed as
+ though the parent of the now-unmapped parent has become the
+ parent of this surface. If no parent exists for the now-unmapped
+ parent then the children are managed as though they have no
+ parent surface.
</description>
<arg name="parent" type="object" interface="xdg_toplevel" allow-null="true"/>
</request>
--
2.13.0
More information about the wayland-devel
mailing list