summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-10 02:20:05 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-10 02:20:05 +0000
commitb7caccb6a1173ba04cd9400dcad81a0c750f8b39 (patch)
treea426fae55f70065d24848eec5606b557f948efa6
parentb0a5c25166e834fa978bd9bde9b83c7cb109da67 (diff)
parentfc69691d6f28a24d1230234d6ef006fcf31c52f1 (diff)
downloadwayland-protocols-android13-d3-s1-release.tar.gz
Snap for 9390188 from fc69691d6f28a24d1230234d6ef006fcf31c52f1 to tm-d3-releaseandroid-13.0.0_r57android13-d3-s1-release
Change-Id: Ie53c83ddd61d0e9da7cf516bb4090c20c7e1f0cd
-rw-r--r--chromium.org/unstable/aura-shell/aura-shell.xml593
1 files changed, 580 insertions, 13 deletions
diff --git a/chromium.org/unstable/aura-shell/aura-shell.xml b/chromium.org/unstable/aura-shell/aura-shell.xml
index 51d652b..55fed92 100644
--- a/chromium.org/unstable/aura-shell/aura-shell.xml
+++ b/chromium.org/unstable/aura-shell/aura-shell.xml
@@ -2,7 +2,7 @@
<protocol name="aura_shell">
<copyright>
- Copyright 2017 The Chromium Authors.
+ Copyright 2017 The Chromium Authors
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
@@ -24,7 +24,7 @@
DEALINGS IN THE SOFTWARE.
</copyright>
- <interface name="zaura_shell" version="24">
+ <interface name="zaura_shell" version="47">
<description summary="aura_shell">
The global interface exposing aura shell capabilities is used to
instantiate an interface extension for a wl_surface object.
@@ -108,6 +108,7 @@
</description>
<arg name="active_desk_index" type="int" summary="index of the active desk"/>
</event>
+
<!-- Version 24 additions -->
<event name="activated" since="24">
<description summary="activated surface changed">
@@ -116,9 +117,50 @@
<arg name="gained_active" type="object" interface="wl_surface" allow-null="true"/>
<arg name="lost_active" type="object" interface="wl_surface" allow-null="true"/>
</event>
+
+ <!-- Version 26 additions -->
+ <request name="surface_submission_in_pixel_coordinates" since="26">
+ <description summary="surfaces will be submitted in pixel coordinates">
+ [Deprecated] Informs the server that when submitting surfaces, this
+ client will not use wl_surface_set_buffer_scale to report the scales,
+ nor will it apply scale via vp_viewporter. Instead the server should
+ apply an appropriate scale transform to have the submitted buffers
+ composited correctly.
+ </description>
+ </request>
+
+ <request name="get_aura_toplevel_for_xdg_toplevel" since="27">
+ <description summary="get aura toplevel">
+ Retrieve the aura toplevel interface for a given xdg toplevel interface
+ </description>
+ <arg name="id" type="new_id" interface="zaura_toplevel"
+ summary="the new aura toplevel interface id"/>
+ <arg name="toplevel" type="object" interface="xdg_toplevel"/>
+ </request>
+
+ <request name="get_aura_popup_for_xdg_popup" since="28">
+ <description summary="get aura popup">
+ Retrieve the aura popup interface for the given xdg popup interface
+ </description>
+ <arg name="id" type="new_id" interface="zaura_popup"
+ summary="the aura popup interface id"/>
+ <arg name="popup" type="object" interface="xdg_popup"/>
+ </request>
+
+ <request name="release" type="destructor" since="38">
+ <description summary="release zaura_shell object">
+ Using this request a client can tell the server that it is not going to
+ use the zaura_shell object anymore. This does not affect any other objects.
+
+ This is named "release" because "destroy" is a special named function used for
+ freeing wl_proxy objects. Naming it "destroy" will cause marshalling errors
+ when running on lower versioned hosts. All "release" requests here should be
+ renamed to "destroy" if we move to aura-shell v2.
+ </description>
+ </request>
</interface>
- <interface name="zaura_surface" version="23">
+ <interface name="zaura_surface" version="47">
<description summary="aura shell interface to a wl_surface">
An additional interface to a wl_surface object, which allows the
client to access aura shell specific functionality for surface.
@@ -135,7 +177,9 @@
<request name="set_frame">
<description summary="request a frame for surface">
- Suggests a surface should use a specific frame.
+ [Deprecated] Suggests a surface should use a specific frame. Deprecated
+ since M105. See the set_decoration method on zaura_toplevel and
+ zaura_popup.
</description>
<arg name="type" type="uint" summary="the new frame type"/>
</request>
@@ -228,12 +272,12 @@
<request name="activate" since="9">
<description summary="Indicate that this window wants to be the active window">
- Make this the active window. This usually implies something like
- restacking this surface to the foreground. The compositor is free to
- ignore this request if it deems the client to be misbehaving. Typically
- this request will only be honoured in response to some user driven
- event, such as executing an application or opening a file in a window
- that already exists.
+ [Deprecated] Make this the active window. This usually implies something
+ like restacking this surface to the foreground. The compositor is free
+ to ignore this request if it deems the client to be misbehaving.
+ Typically this request will only be honoured in response to some user
+ driven event, such as executing an application or opening a file in a
+ window that already exists.
</description>
</request>
@@ -252,7 +296,7 @@
<enum name="fullscreen_mode">
<description
summary="Specifies the behavior of the surface in fullscreen.">
- Possible windowing system behaviors if this surface were to go
+ [Deprecated] Possible windowing system behaviors if this surface were to go
fullscreen.
</description>
<entry
@@ -268,6 +312,7 @@
<request name="set_fullscreen_mode" since="10">
<description summary="Sets the behavior of the surface in fullscreen.">
+ [Deprecated] Use the set_fullscreen_mode in the toplevel interface.
Suggests how the windowing system should behave if this surface were
to go fullscreen. Does not make the surface fullscreen.
@@ -444,9 +489,104 @@
</description>
<arg name="initial_workspace" type="string" summary="intial workspace for restoring or '-1' for visible on all workspaces"/>
</request>
+
+ <!-- Version 25 additions -->
+ <request name="set_pin" since="25">
+ <description summary="pin a window (trusted or not)">
+ Requests that a window is pinned which means that the system does not allow
+ the user to leave the window until an exit criteria is met.
+
+ This is a request to get the window pinned so that the user cannot get to any
+ other window / application. There are two modes:
+ A. trusted is 0 - which is slightly less restrictive and allows the user to
+ get out of the window by a predefined way of authentication.
+ B. trusted is not 0 in which case a trusted application was locking down the
+ system and needs to unlock. This is used for e.g. School tests.
+ </description>
+ <arg name="trusted" type="int" summary="0 for non trusted"/>
+ </request>
+
+ <request name="unset_pin" since="25">
+ <description summary="unpin a window">
+ Requests that the user can leave a previously pinned window.
+
+ This is a request to unpin a previously pinned window. It does not matter if
+ the window was locked with the trusted state or not.
+ </description>
+ </request>
+
+ <event name="start_throttle" since="29">
+ <description summary="start throttling on the surface">
+ Informs the client to start throttling on the surface.
+ </description>
+ </event>
+ <event name="end_throttle" since="29">
+ <description summary="end throttling on the surface">
+ Informs the client to end throttling on the surface.
+ </description>
+ </event>
+
+ <!-- Version 38 additions -->
+ <request name="release" type="destructor" since="38">
+ <description summary="destroy zaura_surface">
+ Destroy the zaura_surface object. A client should destroy this object when the
+ role is unmapped from a wl_surface.
+
+ See zaura_shell.release for destructor naming.
+ </description>
+ </request>
+
+ <!-- Version 47 additions -->
+ <request name="show_tooltip" since="47">
+ <description summary="show tooltip window">
+ Show tooltip on server side.
+ `x` and `y` specifies the location of tooltip in surface local coordinates.
+ `hide_delay` and `show_delay` specify the time to wait until showing/hiding tooltip.
+ The unit is millisecond.
+ </description>
+ <arg name="text" type="string"/>
+ <arg name="x" type="int"/>
+ <arg name="y" type="int"/>
+ <arg name="tooltip_trigger" type="uint" summary="tooltip_trigger enum"/>
+ <arg name="show_delay" type="uint" summary="delay to show tooltip in millisecond"/>
+ <arg name="hide_delay" type="uint" summary="delay to hide tooltip in millisecond"/>
+ </request>
+
+ <enum name="tooltip_trigger">
+ <description summary="type of tooltip trigger">
+ Describes what triggered tooltip
+ </description>
+ <entry name="cursor" value="0" summary="triggered by cursor"/>
+ <entry name="keyboard" value="1" summary="triggered by keyboard"/>
+ </enum>
+
+ <request name="hide_tooltip" since="47">
+ <description summary="hide tooltip window">
+ Hide tooltip created by the same client on server side.
+ This may be called even when there is no tooltip window to hide.
+ </description>
+ </request>
+
+ <event name="tooltip_shown" since="47">
+ <description summary="tooltip is shown by server side">
+ Informs the client that the tooltip is shown with states.
+ `x` and `y` specifies the location of tooltip in surface local coordinates.
+ </description>
+ <arg name="text" type="string"/>
+ <arg name="x" type="int"/>
+ <arg name="y" type="int"/>
+ <arg name="width" type="int"/>
+ <arg name="height" type="int"/>
+ </event>
+
+ <event name="tooltip_hidden" since="47">
+ <description summary="tooltip is hidden by server side">
+ Informs the client that the tooltip is hidden.
+ </description>
+ </event>
</interface>
- <interface name="zaura_output" version="6">
+ <interface name="zaura_output" version="45">
<description summary="aura shell interface to a wl_output">
An additional interface to a wl_output object, which allows the
client to access aura shell specific functionality for output.
@@ -548,6 +688,433 @@
</description>
<arg name="scale" type="uint" enum="scale_factor" summary="output device scale factor"/>
</event>
- </interface>
+ <!-- Version 33 additions -->
+
+ <event name="insets" since="33">
+ <description summary="advertise the insets for the output">
+ This event describes the insets for the output in logical screen
+ coordinates, from which the work area can be calculated.
+
+ This event is sent before wl_output.done, after which the client would
+ apply the change.
+ </description>
+ <arg name="top" type="int"/>
+ <arg name="left" type="int"/>
+ <arg name="bottom" type="int"/>
+ <arg name="right" type="int"/>
+ </event>
+
+ <!-- Version 34 additions -->
+
+ <event name="logical_transform" since="34">
+ <description summary="advertise the output's logical transform">
+ This event describes the logical transform for the output. Whereas
+ wl_output.geometry's transform corresponds to the display's panel
+ rotation, the logical transform corresponds to the display's logical
+ rotation.
+
+ This event is sent before wl_output.done, after which the client would
+ apply the change.
+ </description>
+ <arg name="transform" type="int" enum="wl_output.transform"/>
+ </event>
+
+ <!-- Version 38 additions -->
+ <request name="release" type="destructor" since="38">
+ <description summary="destroy zaura_output">
+ Destroy this zaura_shell object.
+
+ Destroying a bound zaura_shell object while there are zaura_surfaces
+ still alive created by this zaura_shell object instance is illegal
+ and will result in a protocol error.
+
+ See zaura_shell.release for destructor naming.
+ </description>
+ </request>
+
+ <event name="display_id" since="43">
+ <description summary="advertise the output's display id">
+ This event describes the 64bit display id assigned to each display by ChromeOS.
+ The value is opaque and should not be interpreted.
+ </description>
+ <arg name="display_id_hi" type="uint"/>
+ <arg name="display_id_lo" type="uint"/>
+ </event>
+
+ <!-- Version 45 additions -->
+ <event name="activated" since="45">
+ <description summary="target display for new windows">
+ Notifies that this output is now active output. It is typically used as a
+ target when a new window is created without specific bounds.
+ </description>
+ </event>
+ </interface>
+
+ <interface name="zaura_toplevel" version="46">
+ <description summary="aura shell interface to the toplevel shell">
+ An interface to the toplevel shell, which allows the
+ client to access shell specific functionality.
+ </description>
+
+ <enum name="orientation_lock">
+ <description summary="orientation lock request">
+ Defines orientation request when a surface is in fullscreen.
+ </description>
+ <entry name="none" value="1" summary="no orientation lock"/>
+ <entry name="portrait" value="2" summary="primary or secondary portrait"/>
+ <entry name="landscape" value="3" summary="primary or secondary landscape"/>
+ <entry name="current" value="4" summary="keep current orientation"/>
+ <entry name="portrait_primary" value="5" summary="primary portrait"/>
+ <entry name="landscape_primary" value="6" summary="primary landscape"/>
+ <entry name="portrait_secondary" value="7" summary="secondary portrait"/>
+ <entry name="landscape_secondary" value="8" summary="secondary landscape"/>
+ </enum>
+
+ <request name="set_orientation_lock" since="26">
+ <description summary="set orientation lock for a remote surface">
+ Request a specific orientation behavior when this surface is in fullscreen.
+ </description>
+ <arg name="orientation_lock" type="uint" enum="orientation_lock"/>
+ </request>
+ <request name="surface_submission_in_pixel_coordinates" since="28">
+ <description summary="surface will be submitted in pixel coordinates">
+ Informs the server that when submitting this surface, this client will not
+ use wl_surface_set_buffer_scale to report the scales, nor will it apply
+ scale via vp_viewporter. Instead the server should apply an appropriate
+ scale transform for the submitted buffers to be composited correctly.
+ </description>
+ </request>
+
+ <request name="set_supports_screen_coordinates" since="29">
+ <description summary="enables screen coordinates in window bounds">
+ Requesting this will enable screen coordinates in surfaces
+ associated with aura_toplevel including sub surfaces and popup
+ windows who added this toplevel as a parent. This should be
+ set before first commit.
+ </description>
+ </request>
+
+ <request name="set_window_bounds" since="29">
+ <description summary="set window size and position">
+ Request a new location and bounds of the surface in DP screen
+ coordinates. The size will be applied to visible bounds used
+ in set_geometry. The output is a hint for the compositor to
+ determine which output the window should move to. If the
+ output is null, the compositor should make decision solely by
+ the given bounds. These parameters are just a request and the
+ compositor may ignore, adjust the size and position based on
+ the rule imposed by the window manager, or may preserve it for
+ future operations. For example, the compositor will not allow
+ a position outside of the output, or the compositor may just
+ store it if the toplevel surface is in maximiezd state, and
+ may use it upon unmaximized.
+ </description>
+ <arg name="x" type="int"/>
+ <arg name="y" type="int"/>
+ <arg name="width" type="int"/>
+ <arg name="height" type="int"/>
+ <arg name="output" type="object" interface="wl_output" summary="the output" allow-null="true"/>
+ </request>
+
+ <event name="configure" since="29">
+ <description summary="suggest a surface change">
+ A configuration change that also includes the window origin in screen coordinates.
+ </description>
+ <arg name="x" type="int"/>
+ <arg name="y" type="int"/>
+ <arg name="width" type="int"/>
+ <arg name="height" type="int"/>
+ <arg name="states" type="array"/>
+ </event>
+
+ <enum name="state">
+ <description summary="supplemental aura states to xdg states">
+ The states that are contained here are supplemental to the states
+ defined in the XDG shell and specific aura windows.
+ </description>
+
+ <!-- Offset by 100 to prevent collision with new XDG states. -->
+ <entry name="immersive" value="100" since="36">
+ <description summary="immersive mode with hidden title bar and shelf">
+ User can access system UIs such as the shelf and window frame
+ by pointing to, or swiping over, the screen edge.
+ </description>
+ </entry>
+ <entry name="minimized" value="101" since="36">
+ <description summary="surface is minimized">
+ The window has been minimized.
+ </description>
+ </entry>
+ <entry name="snapped_primary" value="102" since="38">
+ <description summary="window is snapped in primary position">
+ The window is snapped to the left if the display is in landscape mode
+ and at the top in portrait mode.
+ </description>
+ </entry>
+ <entry name="snapped_secondary" value="103" since="38">
+ <description summary="window is snapped in secondary position">
+ The window is snapped to the right if the display is in landscape mode
+ and at the bottom in portrait mode.
+ </description>
+ </entry>
+ <entry name="floated" value="104" since="38">
+ <description summary="window is floated on top">
+ The window is floated on top of other windows. One floated window is
+ allowed per desk. Floating a window when there is already a floated
+ window on the same desk will unfloat the floated window.
+ </description>
+ </entry>
+ </enum>
+
+ <event name="origin_change" since="29">
+ <description summary="window origin change">
+ A notification sent when the window origin has changed. Unlike a configure,
+ this does not imply the client needs to resize. The values are in screen
+ coordinates.
+ </description>
+ <arg name="x" type="int" />
+ <arg name="y" type="int" />
+ </event>
+
+ <request name="set_restore_info" since="30">
+ <description summary="set session id and restore id">
+ Request session id and restore id of a newly created browser window.
+ Set the information used by compositor to restore the toplevel
+ surface state, such as window position, window state, upon creation.
+ This is not double buffered and must be set before sending first commit.
+ </description>
+ <arg name="restore_session_id" type="int" summary="unique browser session id"/>
+ <arg name="restore_window_id" type="int" summary="restore browser window id"/>
+ </request>
+
+ <!-- Version 31 additions -->
+ <request name="set_system_modal" since="31">
+ <description summary="make window a system modal">
+ Requests that the toplevel surface should become a system modal. The
+ compositor will prevent other windows from receiving events. If there
+ are multiple system modal surfaces, the compositor will decide which
+ one to receive events.
+ </description>
+ </request>
+
+ <request name="unset_system_modal" since="31">
+ <description summary="unset window system modal state">
+ Requests that the system modal state of the toplevel surface will be
+ unset. The compositor will then allow other windows to recieve events.
+ </description>
+ </request>
+
+ <request name="set_restore_info_with_window_id_source" since="32">
+ <description summary="set session id and restore window id source">
+ Request session id and restore id of the window. Set the information used by compositor to restore the toplevel surface state, such as window position, window state, upon creation. This is not double buffered and must be set before sending first commit. This is different from set_restore_info, used for clients that create multiple windows associated with restore_id_source.
+ </description>
+ <arg name="restore_session_id" type="int" summary="unique browser session id"/>
+ <arg name="restore_window_id_source" type="string" summary="restore window id source"/>
+ </request>
+
+ <request name="set_decoration" since="35">
+ <description summary="request a decoration for surface">
+ Clients are allowed to request a particular decoration for a
+ zaura_toplevel. The server is not required to honor this request. See
+ decoration_type for available options. Available since M105.
+ </description>
+ <arg name="type" type="uint" summary="the new frame type"/>
+ </request>
+
+ <enum name="decoration_type">
+ <description summary="different decoration types">
+ Decoration types are used to modify the surface (e.g. drop shadow).
+ </description>
+ <entry name="none" value="0" summary="no frame"/>
+ <entry name="normal" value="1" summary="caption with shadow"/>
+ <entry name="shadow" value="2" summary="shadow only"/>
+ </enum>
+
+ <!-- Version 38 additions -->
+ <request name="release" type="destructor" since="38">
+ <description summary="destroy zaura_toplevel">
+ Destroy this zaura_toplevel object. A client should call destroy when the role
+ is unmapped from a wl_surface.
+
+ See zaura_shell.release for destructor naming.
+ </description>
+ </request>
+
+ <!-- Version 39 additions -->
+ <request name="set_float" since="39">
+ <description summary="float the surface on top">
+ This is a request to place the surface above others.
+ </description>
+ </request>
+ <request name="unset_float" since="39">
+ <description summary="unset the surface float">
+ Request that the surface resets floating.
+ </description>
+ </request>
+
+ <!-- version 40 additions -->
+ <request name="set_z_order" since="40">
+ <description summary="set z order for window">
+ Sets the z order for a toplevel surface. See z_order_level for available options.
+ </description>
+ <arg name="z_order" type="uint" summary="z order value for the window"/>
+ </request>
+
+ <enum name="z_order_level">
+ <description summary="z order levels for windows">
+ Different z order levels that are used to set the z order for a toplevel surface.
+ </description>
+ <entry name="normal" value="0" summary="the default level for windows"/>
+ <entry name="floating_window" value="1" summary="a floating window z-ordered above other normal windows"/>
+ <entry name="floating_ui_element" value="2" summary="used to show non-window style UIs that are shown above floating windows"/>
+ <entry name="security_surface" value="3" summary="cannot be interfered with or covered up"/>
+ </enum>
+
+ <!-- version 41 additions -->
+ <request name="set_origin" since="41">
+ <description summary="set window position in DPs">
+ Request a new location for the surface in device-independent pixels
+ (DPs), relative to the top-left corner of the given output.
+
+ A null output means whichever output currently contains the surface.
+
+ These parameters are just a request and the compositor may ignore
+ them, adjust them due to rules imposed by the window manager, or
+ preserve them for future operations. For example, the compositor will
+ not allow a position outside of the output; or the compositor may just
+ store it if the toplevel surface is in maximized state, and may use it
+ upon unmaximize.
+ </description>
+ <arg name="x" type="int"/>
+ <arg name="y" type="int"/>
+ <arg name="output" type="object" interface="wl_output" allow-null="true"
+ summary="output to contain the surface"/>
+ </request>
+
+ <request name="activate" since="42">
+ <description summary="activates the window">
+ Activates this window. This is equivalent to bringing the window to the
+ foreground. The compositor is free to ignore this request if it deems
+ the client to be misbehaving.
+ </description>
+ </request>
+
+ <request name="deactivate" since="42">
+ <description summary="deactivates the window">
+ Deactivates this window. This is equivalent to requesting that the
+ window not be the foreground window. The exact behavior is
+ compositor-defined. The compositor is free to ignore this request
+ if it deems the client to be misbehaving.
+ </description>
+ </request>
+
+ <!-- Version 44 additions -->
+ <enum name="fullscreen_mode">
+ <description
+ summary="Specifies the behavior of the surface in fullscreen.">
+ Possible windowing system behaviors if this surface were to go
+ fullscreen.
+ </description>
+ <entry
+ name="plain"
+ value="0"
+ summary="user cannot access system UIs using mouse/touches"/>
+ <entry
+ name="immersive"
+ value="1"
+ summary="user can access system UIs such as the shelf and window frame
+ by pointing to, or swiping over, the screen edge"/>
+ </enum>
+
+ <request name="set_fullscreen_mode" since="44">
+ <description summary="Sets the behavior of the surface in fullscreen.">
+ Suggests how the windowing manager should behave if this surface were
+ to go fullscreen. Does not make the surface fullscreen.
+ </description>
+ <arg name="mode" type="uint" enum="fullscreen_mode"/>
+ </request>
+
+ <!-- Version 46 additions -->
+ <request name="set_scale_factor" since="46">
+ <description summary="Allows the client to set the scale factor for the future buffer commits.">
+ The client has a 32-bit float scale factor that is associated with each
+ zaura toplevel. This scale factor must be propagated exactly to exo. To
+ do so we reinterpret_cast into a 32-bit uint and later cast back into a
+ float. This is because wayland does not support native transport of
+ floats. As different CPU architectures may use different endian
+ representations for IEEE 754 floats, this protocol implicitly assumes
+ that the caller and receiver are the same machine. To avoid redundant
+ messages, this request needs to only be called once when the zaura
+ toplevel scale factor changes.
+ </description>
+ <arg name="scale_factor_as_uint" type="uint"/>
+ </request>
+ </interface>
+
+ <interface name="zaura_popup" version="46">
+ <description summary="aura shell interface to the popup shell">
+ An interface to the popup shell, which allows the
+ client to access shell specific functionality.
+ </description>
+
+ <request name="surface_submission_in_pixel_coordinates" since="28">
+ <description summary="surface will be submitted in pixel coordinates">
+ Informs the server that when submitting this surface, this client will not
+ use wl_surface_set_buffer_scale to report the scales, nor will it apply
+ scale via vp_viewporter. Instead the server should apply an appropriate
+ scale transform for the submitted buffers to be composited correctly.
+ </description>
+ </request>
+
+ <request name="set_decoration" since="35">
+ <description summary="request a decoration for surface">
+ Clients are allowed to request a particular decoration for a
+ zaura_toplevel. The server is not required to honor this request. See
+ decoration_type for available options. Available since M105.
+ </description>
+ <arg name="type" type="uint" summary="the new frame type"/>
+ </request>
+
+ <enum name="decoration_type">
+ <description summary="different decoration types">
+ Decoration types are used to modify the surface (e.g. drop shadow).
+ </description>
+ <entry name="none" value="0" summary="no frame"/>
+ <entry name="normal" value="1" summary="caption with shadow"/>
+ <entry name="shadow" value="2" summary="shadow only"/>
+ </enum>
+
+ <request name="set_menu" since="37">
+ <description summary="set popup type to menu">
+ Set popup type to menu
+ </description>
+ </request>
+
+ <!-- Version 38 additions -->
+ <request name="release" type="destructor" since="38">
+ <description summary="destroy zaura_popup">
+ This request destroys the zaura_popup. A client should call destroy when the
+ role is unmapped from a wl_surface.
+
+ See zaura_shell.release for destructor naming.
+ </description>
+ </request>
+
+ <!-- Version 46 additions -->
+ <request name="set_scale_factor" since="46">
+ <description summary="Allows the client to set the scale factor for the future buffer commits.">
+ The client has a 32-bit float scale factor that is associated with each
+ zaura popup. This scale factor must be propagated exactly to exo. To
+ do so we reinterpret_cast into a 32-bit uint and later cast back into a
+ float. This is because wayland does not support native transport of
+ floats. As different CPU architectures may use different endian
+ representations for IEEE 754 floats, this protocol implicitly assumes
+ that the caller and receiver are the same machine. To avoid redundant
+ messages, this request needs to only be called once when the zaura
+ popup's scale factor changes.
+ </description>
+ <arg name="scale_factor_as_uint" type="uint"/>
+ </request>
+ </interface>
</protocol>