diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2017-05-10 13:50:10 +0800 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2017-11-21 16:25:51 +0800 |
commit | a3cf97ff982638bf7ed23b4303eba280c521b54d (patch) | |
tree | 51b0fd31e7316d4b402b2625c57bf70fb8343fa0 /stable | |
parent | bb632281d02879018e141e7d9325afb805ed0f0d (diff) |
xdg-shell/popup: Allow custom parent by passing null as parent
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@gmail.com>
Reviewed-By: Mike Blumenkrantz <zmike@osg.samsung.com>
Diffstat (limited to 'stable')
-rw-r--r-- | stable/xdg-shell/xdg-shell.xml | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml index 4c4c66b..77ce886 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> |