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 <jad...@gmail.com> Reviewed-By: Mike Blumenkrantz <zm...@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 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel