[PATCH wayland-protocols 10/11] xdg-shell/popup: Allow custom parent by passing null as parent
Jonas Ådahl
jadahl at gmail.com
Wed May 24 09:35:39 UTC 2017
Allow using some other protocol (custom, or future xdg_* based) to set
up the parent-child relationship of a popup. This allows future
protocols to use xdg_popup when mapping popups over surfaces not based
on xdg_surface.
An example use case for this is the window menu, where a shells UI
client can use xdg_popup to create popup menus over windows it does not
have a xdg_surface of by having a custom protocol setting up the proper
parent-child relationship.
Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-By: Mike Blumenkrantz <zmike at osg.samsung.com>
---
stable/xdg-shell/xdg-shell.xml | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml
index fc9a8cd..8ca8a94 100644
--- a/stable/xdg-shell/xdg-shell.xml
+++ b/stable/xdg-shell/xdg-shell.xml
@@ -424,14 +424,17 @@
<request name="get_popup">
<description summary="assign the xdg_popup surface role">
- This creates an xdg_popup object for the given xdg_surface and gives the
- associated wl_surface the xdg_popup role.
+ This creates an xdg_popup object for the given xdg_surface and gives
+ the associated wl_surface the xdg_popup role.
+
+ If null is passed as a parent, a parent surface must be specified using
+ some other protocol, before committing the initial state.
See the documentation of xdg_popup for more details about what an
xdg_popup is and how it is used.
</description>
<arg name="id" type="new_id" interface="xdg_popup"/>
- <arg name="parent" type="object" interface="xdg_surface"/>
+ <arg name="parent" type="object" interface="xdg_surface" allow-null="true"/>
<arg name="positioner" type="object" interface="xdg_positioner"/>
</request>
--
2.13.0
More information about the wayland-devel
mailing list