| <?xml version="1.0" encoding="UTF-8"?> |
| <protocol name="aura_shell"> |
| |
| <copyright> |
| 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"), |
| to deal in the Software without restriction, including without limitation |
| the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| and/or sell copies of the Software, and to permit persons to whom the |
| Software is furnished to do so, subject to the following conditions: |
| |
| The above copyright notice and this permission notice (including the next |
| paragraph) shall be included in all copies or substantial portions of the |
| Software. |
| |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
| DEALINGS IN THE SOFTWARE. |
| </copyright> |
| |
| <interface name="zaura_shell" version="31"> |
| <description summary="aura_shell"> |
| The global interface exposing aura shell capabilities is used to |
| instantiate an interface extension for a wl_surface object. |
| This extended interface will then allow the client to use aura shell |
| specific functionality. |
| </description> |
| |
| <enum name="error"> |
| <entry name="aura_surface_exists" value="0" |
| summary="the surface already has an aura surface object associated"/> |
| <entry name="aura_output_exists" value="1" |
| summary="the output already has an aura output object associated"/> |
| </enum> |
| |
| <request name="get_aura_surface"> |
| <description summary="extend surface interface for aura shell"> |
| Instantiate an interface extension for the given wl_surface to |
| provide aura shell functionality. If the given wl_surface is not |
| associated with a shell surface, the shell_surface_missing protocol |
| error is raised. |
| </description> |
| |
| <arg name="id" type="new_id" interface="zaura_surface" |
| summary="the new aura surface interface id"/> |
| <arg name="surface" type="object" interface="wl_surface" |
| summary="the surface"/> |
| </request> |
| |
| <!-- Version 2 additions --> |
| |
| <request name="get_aura_output" since="2"> |
| <description summary="extend output interface for aura shell"> |
| Instantiate an interface extension for the given wl_output to |
| provide aura shell functionality. |
| </description> |
| |
| <arg name="id" type="new_id" interface="zaura_output" |
| summary="the new aura output interface id"/> |
| <arg name="output" type="object" interface="wl_output" |
| summary="the output"/> |
| </request> |
| |
| <!-- Version 11 additions --> |
| |
| <enum name="layout_mode"> |
| <description summary="the layout mode"> |
| Specifies the server's window layout mode. |
| </description> |
| <entry name="windowed" value="1" summary="multiple windows"/> |
| <entry name="tablet" value="2" summary="restricted mode for tablet"/> |
| </enum> |
| |
| <event name="layout_mode" since="11"> |
| <description summary="sends the layout_mode"> |
| Sends the layout_mode used by the server. |
| </description> |
| <arg name="layout_mode" type="uint" summary="layout_mode enum"/> |
| </event> |
| |
| <!-- Version 14 additions --> |
| |
| <event name="bug_fix" since="14"> |
| <description summary="sends a bug fix ID"> |
| Sends a monorail ID of a bug fixed on the exo server that clients can |
| use to gate functionality. |
| </description> |
| <arg name="id" type="uint" summary="ID of a single bug fix"/> |
| </event> |
| |
| <event name="desks_changed" since="22"> |
| <description summary="sends names of desks"> |
| Notifies when there is a change in global desks state. This is emitted on |
| desk name changes, desk addition/removal or desks are reordered. |
| "desk_names" argument contains the set of null terminated strings as names of desks. |
| </description> |
| <arg name="desk_names" type="array" summary="an array of existing desks' names"/> |
| </event> |
| <event name="desk_activation_changed" since="22"> |
| <description summary="sends the index of the active desk"> |
| Notifies when there is a change of the active desk. |
| </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"> |
| Notifies client that the activated surface changed. |
| </description> |
| <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> |
| </interface> |
| |
| <interface name="zaura_surface" version="29"> |
| <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. |
| </description> |
| |
| <enum name="frame_type"> |
| <description summary="different frame types"> |
| Frame types that can be used to decorate a surface. |
| </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_frame"> |
| <description summary="request a frame for surface"> |
| Suggests a surface should use a specific frame. |
| </description> |
| <arg name="type" type="uint" summary="the new frame type"/> |
| </request> |
| |
| <!-- Version 2 additions --> |
| |
| <request name="set_parent" since="2"> |
| <description summary="set the parent of this surface"> |
| Set the "parent" of this surface. "x" and "y" arguments specify the |
| initial position for surface relative to parent. |
| </description> |
| <arg name="parent" type="object" interface="zaura_surface" allow-null="true"/> |
| <arg name="x" type="int"/> |
| <arg name="y" type="int"/> |
| </request> |
| |
| <!-- Version 3 additions --> |
| |
| <request name="set_frame_colors" since="3"> |
| <description summary="set the frame colors of this surface"> |
| Set the frame colors. |
| </description> |
| <arg name="active_color" type="uint" summary="32 bit ARGB color value, not premultiplied"/> |
| <arg name="inactive_color" type="uint" summary="32 bit ARGB color value, not premultiplied"/> |
| </request> |
| |
| <!-- Version 4 additions --> |
| |
| <request name="set_startup_id" since="4"> |
| <description summary="set the startup ID of this surface"> |
| Set the startup ID. |
| </description> |
| <arg name="startup_id" type="string" allow-null="true"/> |
| </request> |
| |
| <!-- Version 5 additions --> |
| |
| <request name="set_application_id" since="5"> |
| <description summary="set the application ID of this surface"> |
| Set the application ID. |
| </description> |
| <arg name="application_id" type="string" allow-null="true"/> |
| </request> |
| |
| <!-- Version 7 additions --> |
| |
| <request name="set_client_surface_id" since="7"> |
| <description summary="set the client surface ID of this surface"> |
| Deprecated. Please use set_client_surface_str_id instead. |
| Set the identifier of the surface assigned by the client. |
| </description> |
| <arg name="client_surface_id" type="int" /> |
| </request> |
| |
| <!-- Version 8 additions --> |
| |
| <enum name="occlusion_change_reason"> |
| <description summary="occlusion change reason"> |
| Enum describing why an occlusion change happened. An occlusion change as a |
| result of a user action could include things like the user moving a window, |
| changing occlusion, or opening/closing a window, changing the occlusion. |
| </description> |
| <entry name="user_action" value="1" summary="occlusion changed as a result of a user action"/> |
| </enum> |
| |
| <request name="set_occlusion_tracking" since="8"> |
| <description summary="set tracked occlusion region"> |
| Sets occlusion tracking on this surface. The client will be updated with a |
| new occlusion fraction when the amount of occlusion of this surface changes. |
| </description> |
| </request> |
| |
| <request name="unset_occlusion_tracking" since="8"> |
| <description summary="unset tracked occlusion region"> |
| Unsets occlusion tracking for this surface. |
| </description> |
| </request> |
| |
| <event name="occlusion_changed" since="8"> |
| <description summary="Notifies on an occlusion change"> |
| Notifies when there is a change in the amount this surface is occluded. |
| The occlusion update is sent as a fixed point number from 0 to 1, representing |
| the proportion of occlusion. |
| </description> |
| <arg name="occlusion_fraction" type="fixed"/> |
| <arg name="occlusion_reason" type="uint"/> |
| </event> |
| |
| <!-- Version 9 additions --> |
| |
| <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. |
| </description> |
| </request> |
| |
| <request name="draw_attention" since="9"> |
| <description summary="Indicate that this window wants some of the user's attention"> |
| Draw attention to this surface in a way that does not change the user's |
| focus. This usually means animating window decorations or taskbar icons. |
| The compositor can still ignore this request if it deems fit, but unlike |
| draw_focus, these requests are expected to come from background tasks, |
| and are more likely to be honoured. |
| </description> |
| </request> |
| |
| <!-- Version 10 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="immersive" |
| value="0" |
| summary="user can access system UIs such as the shelf and window frame |
| by pointing to, or swiping over, the screen edge"/> |
| <entry |
| name="plain" |
| value="1" |
| summary="user cannot access system UIs using mouse/touches"/> |
| </enum> |
| |
| <request name="set_fullscreen_mode" since="10"> |
| <description summary="Sets the behavior of the surface in fullscreen."> |
| Suggests how the windowing system should behave if this surface were |
| to go fullscreen. Does not make the surface fullscreen. |
| |
| Typically the default mode is "immersive". |
| </description> |
| <arg name="mode" type="uint" enum="fullscreen_mode"/> |
| </request> |
| |
| <!-- Version 12 additions --> |
| |
| <request name="set_client_surface_str_id" since="12"> |
| <description summary="set the client surface ID of this surface"> |
| Set the identifier of the surface assigned by the client. |
| </description> |
| <arg name="client_surface_id" type="string" /> |
| </request> |
| |
| <!-- Version 15 additions --> |
| |
| <request name="set_server_start_resize" since="15"> |
| <description summary="request a server-side shadow for surface"> |
| Suggests a surface to have client-side decoration, but |
| server-side decides when and where to start the resize. The server may also |
| apply visual effects to indicate that the resize operation is ongoing. |
| </description> |
| </request> |
| |
| <!-- Version 16 additions --> |
| |
| <enum name="snap_direction"> |
| <description summary="surface snap directions"> |
| Surface snap directions. |
| </description> |
| <entry name="none" value="0" summary=""/> |
| <entry name="left" value="1" summary=""/> |
| <entry name="right" value="2" summary=""/> |
| </enum> |
| |
| <request name="intent_to_snap" since="16"> |
| <description summary="client intents to snap the surface."> |
| Notify (or inform) the server the client's intent to snap the window. |
| To inform it's no longer willing to snap, send 'none'. |
| </description> |
| <arg name="direction" type="uint" enum="snap_direction"/> |
| </request> |
| |
| <request name="set_snap_left" since="16"> |
| <description summary="snap the surface to the left."> |
| Request that surface is snapped to the left. |
| </description> |
| </request> |
| |
| <request name="set_snap_right" since="16"> |
| <description summary="snap the surface to the right."> |
| Request that surface is snapped to the right. |
| </description> |
| </request> |
| |
| <request name="unset_snap" since="16"> |
| <description summary="Unset the surface snap."> |
| Request that surface resets snapping. |
| </description> |
| </request> |
| |
| <!-- Version 17 additions --> |
| |
| <event name="lock_frame_normal" since="17"> |
| <description summary="Notify the client that server intent to lock window in normal or restore state"> |
| Notifies the client to lock window in normal or restore state. When |
| window is locked, the window frame should look like it is in restored |
| state, but actually isn't. Locking happends while dragging a maximized |
| window. |
| </description> |
| </event> |
| |
| <event name="unlock_frame_normal" since="17"> |
| <description summary="Notify the client that server intent to unlock window's normal or restore state"> |
| Notifies the client to unlock window if it is previously locked. |
| Unlocking happends while dragging a maximized window. |
| </description> |
| </event> |
| |
| <!-- Version 18 additions --> |
| <request name="set_window_session_id" since="18"> |
| <description summary="set surface window session id"> |
| Set window session id to the surface. |
| </description> |
| <arg name="id" type="int" summary="window session id"/> |
| </request> |
| |
| <!-- Version 19 additions --> |
| <request name="set_can_go_back" since="19"> |
| <description summary="Set the minimize-on-back-gesture behavior."> |
| Sets that the surface can go back as per its navigation list. |
| This allows the server to react to by minimizing the window upon a |
| system wide back gesture. |
| </description> |
| </request> |
| |
| <request name="unset_can_go_back" since="19"> |
| <description summary="Unset the minimize-on-back-gesture behavior."> |
| Unsets that the surface can go back as per its navigation list. |
| See above. |
| </description> |
| </request> |
| |
| <!-- Version 20 additions --> |
| <request name="set_pip" since="20"> |
| <description summary="Set pip for the surface."> |
| Requests that the surface is set to Picture-in-Picture (PIP). |
| </description> |
| </request> |
| |
| <request name="unset_pip" since="20"> |
| <description summary="Unset pip for the surface."> |
| Requests that the surface is unset from Picture-in-Picture (PIP). |
| </description> |
| </request> |
| |
| <request name="set_aspect_ratio" since="20"> |
| <description summary="Set aspect ratio for the surface."> |
| Sets the aspect ratio of the surface. |
| </description> |
| <arg name="width" type="int"/> |
| <arg name="height" type="int"/> |
| </request> |
| |
| <!-- Version 21 additions --> |
| <enum name="occlusion_state"> |
| <description summary="surface occlusion state"> |
| Describes the occlusion state of a surface. |
| </description> |
| <entry name="unknown" value="0" summary="The surface's occlusion state isn't tracked"/> |
| <entry name="visible" value="1" summary="The surface is visible"/> |
| <entry name="occluded" value="2" summary="The surface is occluded"/> |
| <entry name="hidden" value="3" summary="The surface is not visible"/> |
| </enum> |
| |
| <event name="occlusion_state_changed" since="21"> |
| <description summary="Notify the client that the occlusion state changed"> |
| Notifies the client that the occlusion state of a window has changed. Clients |
| will only receive these messages if they previously request occlusion tracking |
| via set_occlusion_tracking for a particular surface. |
| </description> |
| <arg name="mode" type="uint" enum="occlusion_state"/> |
| </event> |
| |
| <!-- Version 22 additions --> |
| <request name="move_to_desk" since="22"> |
| <description summary="move to desk"> |
| If |index| equals -1, requests that the server toggles whether client |
| is visible on all workspaces. |
| If |index| is not -1, requests that the server moves the client to the desk at |
| |index|. |
| </description> |
| <arg name="index" type="int"/> |
| </request> |
| |
| <event name="desk_changed" since="22"> |
| <description summary="window desk state changed"> |
| Notifies when there is a change in the desk state of a window. |
| This is emitted when a window is moved to another desk or |
| when its assigned-to-all-desks state changes. |
| </description> |
| <arg name="state" type="int" summary="index of desk or -1 for a window assigned to all desks"/> |
| </event> |
| |
| <!-- Version 23 additions --> |
| <request name="set_initial_workspace" since="23"> |
| <description summary="initial workspace for restore"> |
| If |initial_workspace| equals '-1', a window is restored and visible on all workspaces, |
| Otherwise, set the initial workspace to restore the window to the corresponding workspace. |
| This is not double buffered and must be set before attaching a buffer. |
| </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> |
| </interface> |
| |
| <interface name="zaura_output" version="6"> |
| <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. |
| </description> |
| |
| <!-- Version 2 additions --> |
| |
| <enum name="scale_property" bitfield="true"> |
| <description summary="scale information"> |
| These flags describe properties of an output scale. |
| They are used in the flags bitfield of the scale event. |
| </description> |
| <entry name="current" value="0x1" |
| summary="indicates this is the current scale"/> |
| <entry name="preferred" value="0x2" |
| summary="indicates this is the preferred scale"/> |
| </enum> |
| |
| <enum name="scale_factor"> |
| <entry name="0400" value="400"/> |
| <entry name="0500" value="500"/> |
| <entry name="0550" value="550"/> |
| <entry name="0600" value="600"/> |
| <entry name="0625" value="625"/> |
| <entry name="0650" value="650"/> |
| <entry name="0700" value="700"/> |
| <entry name="0750" value="750"/> |
| <entry name="0800" value="800"/> |
| <entry name="0850" value="850"/> |
| <entry name="0900" value="900"/> |
| <entry name="0950" value="950"/> |
| <entry name="1000" value="1000"/> |
| <entry name="1050" value="1050"/> |
| <entry name="1100" value="1100"/> |
| <entry name="1150" value="1150"/> |
| <entry name="1125" value="1125"/> |
| <entry name="1200" value="1200"/> |
| <entry name="1250" value="1250"/> |
| <entry name="1300" value="1300"/> |
| <entry name="1400" value="1400"/> |
| <entry name="1450" value="1450"/> |
| <entry name="1500" value="1500"/> |
| <entry name="1600" value="1600"/> |
| <entry name="1750" value="1750"/> |
| <entry name="1800" value="1800"/> |
| <entry name="2000" value="2000"/> |
| <entry name="2200" value="2200"/> |
| <entry name="2250" value="2250"/> |
| <entry name="2500" value="2500"/> |
| <entry name="2750" value="2750"/> |
| <entry name="3000" value="3000"/> |
| <entry name="3500" value="3500"/> |
| <entry name="4000" value="4000"/> |
| <entry name="4500" value="4500"/> |
| <entry name="5000" value="5000"/> |
| </enum> |
| |
| <event name="scale" since="2"> |
| <description summary="advertise available scales for the output"> |
| The scale event describes an available scale for the output. |
| |
| The event is sent when binding to the output object and there |
| will always be one scale, the current scale. The event is sent |
| again if an output changes scale, for the scale that is now |
| current. In other words, the current scale is always the last |
| scale that was received with the current flag set. |
| </description> |
| <arg name="flags" type="uint" enum="scale_property" summary="bitfield of scale flags"/> |
| <arg name="scale" type="uint" enum="scale_factor" summary="output scale"/> |
| </event> |
| |
| <!-- Version 5 additions --> |
| |
| <enum name="connection_type"> |
| <entry name="unknown" value="0"/> |
| <entry name="internal" value="1"/> |
| </enum> |
| |
| <event name="connection" since="5"> |
| <description summary="advertise connection for the output"> |
| The connection event describes how the output is connected. |
| |
| The event is sent when binding to the output object. |
| </description> |
| <arg name="connection" type="uint" enum="connection_type" summary="output connection"/> |
| </event> |
| |
| <event name="device_scale_factor" since="5"> |
| <description summary="advertise device scale factor for the output"> |
| This event describes the device specific scale factor for the output. |
| |
| The device specific scale factor is not expected the change during |
| the lifetime of the output. And it is not limited to an integer value |
| like the scale factor provided by wl_output interface. The exact |
| contents scale used by the compositor can be determined by combining |
| this device scale factor with the current output scale. |
| |
| The event is sent when binding to the output object. |
| </description> |
| <arg name="scale" type="uint" enum="scale_factor" summary="output device scale factor"/> |
| </event> |
| </interface> |
| |
| <interface name="zaura_toplevel" version="31"> |
| <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. 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"/> |
| </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> |
| |
| <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> |
| |
| <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> |
| </interface> |
| |
| <interface name="zaura_popup" version="28"> |
| <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> |
| </interface> |
| </protocol> |