protocols/wlr-layer-shell-unstable-v1.xml
author agaric <agaric@protonmail.com>
Tue, 09 Mar 2021 07:18:07 +0000
changeset 0 5f04caa7212d
permissions -rw-r--r--
git import
0
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="UTF-8"?>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
     2
<protocol name="wlr_layer_shell_unstable_v1">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
     3
  <copyright>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
     4
    Copyright © 2017 Drew DeVault
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
     5
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
     6
    Permission to use, copy, modify, distribute, and sell this
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
     7
    software and its documentation for any purpose is hereby granted
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
     8
    without fee, provided that the above copyright notice appear in
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
     9
    all copies and that both that copyright notice and this permission
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    10
    notice appear in supporting documentation, and that the name of
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    11
    the copyright holders not be used in advertising or publicity
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    12
    pertaining to distribution of the software without specific,
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    13
    written prior permission.  The copyright holders make no
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    14
    representations about the suitability of this software for any
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    15
    purpose.  It is provided "as is" without express or implied
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    16
    warranty.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    17
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    18
    THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    19
    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    20
    FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    21
    SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    22
    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    23
    AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    24
    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    25
    THIS SOFTWARE.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    26
  </copyright>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    27
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    28
  <interface name="zwlr_layer_shell_v1" version="4">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    29
    <description summary="create surfaces that are layers of the desktop">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    30
      Clients can use this interface to assign the surface_layer role to
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    31
      wl_surfaces. Such surfaces are assigned to a "layer" of the output and
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    32
      rendered with a defined z-depth respective to each other. They may also be
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    33
      anchored to the edges and corners of a screen and specify input handling
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    34
      semantics. This interface should be suitable for the implementation of
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    35
      many desktop shell components, and a broad number of other applications
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    36
      that interact with the desktop.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    37
    </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    38
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    39
    <request name="get_layer_surface">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    40
      <description summary="create a layer_surface from a surface">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    41
        Create a layer surface for an existing surface. This assigns the role of
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    42
        layer_surface, or raises a protocol error if another role is already
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    43
        assigned.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    44
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    45
        Creating a layer surface from a wl_surface which has a buffer attached
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    46
        or committed is a client error, and any attempts by a client to attach
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    47
        or manipulate a buffer prior to the first layer_surface.configure call
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    48
        must also be treated as errors.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    49
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    50
        After creating a layer_surface object and setting it up, the client
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    51
        must perform an initial commit without any buffer attached.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    52
        The compositor will reply with a layer_surface.configure event.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    53
        The client must acknowledge it and is then allowed to attach a buffer
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    54
        to map the surface.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    55
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    56
        You may pass NULL for output to allow the compositor to decide which
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    57
        output to use. Generally this will be the one that the user most
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    58
        recently interacted with.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    59
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    60
        Clients can specify a namespace that defines the purpose of the layer
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    61
        surface.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    62
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    63
      <arg name="id" type="new_id" interface="zwlr_layer_surface_v1"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    64
      <arg name="surface" type="object" interface="wl_surface"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    65
      <arg name="output" type="object" interface="wl_output" allow-null="true"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    66
      <arg name="layer" type="uint" enum="layer" summary="layer to add this surface to"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    67
      <arg name="namespace" type="string" summary="namespace for the layer surface"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    68
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    69
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    70
    <enum name="error">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    71
      <entry name="role" value="0" summary="wl_surface has another role"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    72
      <entry name="invalid_layer" value="1" summary="layer value is invalid"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    73
      <entry name="already_constructed" value="2" summary="wl_surface has a buffer attached or committed"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    74
    </enum>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    75
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    76
    <enum name="layer">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    77
      <description summary="available layers for surfaces">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    78
        These values indicate which layers a surface can be rendered in. They
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    79
        are ordered by z depth, bottom-most first. Traditional shell surfaces
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    80
        will typically be rendered between the bottom and top layers.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    81
        Fullscreen shell surfaces are typically rendered at the top layer.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    82
        Multiple surfaces can share a single layer, and ordering within a
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    83
        single layer is undefined.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    84
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    85
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    86
      <entry name="background" value="0"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    87
      <entry name="bottom" value="1"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    88
      <entry name="top" value="2"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    89
      <entry name="overlay" value="3"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    90
    </enum>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    91
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    92
    <!-- Version 3 additions -->
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    93
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    94
    <request name="destroy" type="destructor" since="3">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    95
      <description summary="destroy the layer_shell object">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    96
        This request indicates that the client will not use the layer_shell
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    97
        object any more. Objects that have been created through this instance
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    98
        are not affected.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
    99
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   100
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   101
  </interface>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   102
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   103
  <interface name="zwlr_layer_surface_v1" version="4">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   104
    <description summary="layer metadata interface">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   105
      An interface that may be implemented by a wl_surface, for surfaces that
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   106
      are designed to be rendered as a layer of a stacked desktop-like
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   107
      environment.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   108
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   109
      Layer surface state (layer, size, anchor, exclusive zone,
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   110
      margin, interactivity) is double-buffered, and will be applied at the
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   111
      time wl_surface.commit of the corresponding wl_surface is called.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   112
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   113
      Attaching a null buffer to a layer surface unmaps it.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   114
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   115
      Unmapping a layer_surface means that the surface cannot be shown by the
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   116
      compositor until it is explicitly mapped again. The layer_surface
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   117
      returns to the state it had right after layer_shell.get_layer_surface.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   118
      The client can re-map the surface by performing a commit without any
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   119
      buffer attached, waiting for a configure event and handling it as usual.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   120
    </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   121
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   122
    <request name="set_size">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   123
      <description summary="sets the size of the surface">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   124
        Sets the size of the surface in surface-local coordinates. The
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   125
        compositor will display the surface centered with respect to its
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   126
        anchors.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   127
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   128
        If you pass 0 for either value, the compositor will assign it and
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   129
        inform you of the assignment in the configure event. You must set your
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   130
        anchor to opposite edges in the dimensions you omit; not doing so is a
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   131
        protocol error. Both values are 0 by default.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   132
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   133
        Size is double-buffered, see wl_surface.commit.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   134
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   135
      <arg name="width" type="uint"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   136
      <arg name="height" type="uint"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   137
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   138
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   139
    <request name="set_anchor">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   140
      <description summary="configures the anchor point of the surface">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   141
        Requests that the compositor anchor the surface to the specified edges
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   142
        and corners. If two orthogonal edges are specified (e.g. 'top' and
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   143
        'left'), then the anchor point will be the intersection of the edges
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   144
        (e.g. the top left corner of the output); otherwise the anchor point
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   145
        will be centered on that edge, or in the center if none is specified.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   146
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   147
        Anchor is double-buffered, see wl_surface.commit.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   148
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   149
      <arg name="anchor" type="uint" enum="anchor"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   150
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   151
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   152
    <request name="set_exclusive_zone">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   153
      <description summary="configures the exclusive geometry of this surface">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   154
        Requests that the compositor avoids occluding an area with other
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   155
        surfaces. The compositor's use of this information is
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   156
        implementation-dependent - do not assume that this region will not
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   157
        actually be occluded.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   158
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   159
        A positive value is only meaningful if the surface is anchored to one
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   160
        edge or an edge and both perpendicular edges. If the surface is not
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   161
        anchored, anchored to only two perpendicular edges (a corner), anchored
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   162
        to only two parallel edges or anchored to all edges, a positive value
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   163
        will be treated the same as zero.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   164
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   165
        A positive zone is the distance from the edge in surface-local
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   166
        coordinates to consider exclusive.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   167
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   168
        Surfaces that do not wish to have an exclusive zone may instead specify
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   169
        how they should interact with surfaces that do. If set to zero, the
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   170
        surface indicates that it would like to be moved to avoid occluding
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   171
        surfaces with a positive exclusive zone. If set to -1, the surface
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   172
        indicates that it would not like to be moved to accommodate for other
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   173
        surfaces, and the compositor should extend it all the way to the edges
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   174
        it is anchored to.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   175
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   176
        For example, a panel might set its exclusive zone to 10, so that
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   177
        maximized shell surfaces are not shown on top of it. A notification
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   178
        might set its exclusive zone to 0, so that it is moved to avoid
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   179
        occluding the panel, but shell surfaces are shown underneath it. A
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   180
        wallpaper or lock screen might set their exclusive zone to -1, so that
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   181
        they stretch below or over the panel.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   182
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   183
        The default value is 0.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   184
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   185
        Exclusive zone is double-buffered, see wl_surface.commit.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   186
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   187
      <arg name="zone" type="int"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   188
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   189
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   190
    <request name="set_margin">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   191
      <description summary="sets a margin from the anchor point">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   192
        Requests that the surface be placed some distance away from the anchor
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   193
        point on the output, in surface-local coordinates. Setting this value
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   194
        for edges you are not anchored to has no effect.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   195
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   196
        The exclusive zone includes the margin.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   197
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   198
        Margin is double-buffered, see wl_surface.commit.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   199
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   200
      <arg name="top" type="int"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   201
      <arg name="right" type="int"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   202
      <arg name="bottom" type="int"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   203
      <arg name="left" type="int"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   204
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   205
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   206
    <enum name="keyboard_interactivity">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   207
      <description summary="types of keyboard interaction possible for a layer shell surface">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   208
        Types of keyboard interaction possible for layer shell surfaces. The
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   209
        rationale for this is twofold: (1) some applications are not interested
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   210
        in keyboard events and not allowing them to be focused can improve the
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   211
        desktop experience; (2) some applications will want to take exclusive
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   212
        keyboard focus.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   213
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   214
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   215
      <entry name="none" value="0">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   216
        <description summary="no keyboard focus is possible">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   217
          This value indicates that this surface is not interested in keyboard
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   218
          events and the compositor should never assign it the keyboard focus.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   219
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   220
          This is the default value, set for newly created layer shell surfaces.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   221
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   222
          This is useful for e.g. desktop widgets that display information or
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   223
          only have interaction with non-keyboard input devices.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   224
        </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   225
      </entry>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   226
      <entry name="exclusive" value="1">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   227
        <description summary="request exclusive keyboard focus">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   228
          Request exclusive keyboard focus if this surface is above the shell surface layer.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   229
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   230
          For the top and overlay layers, the seat will always give
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   231
          exclusive keyboard focus to the top-most layer which has keyboard
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   232
          interactivity set to exclusive. If this layer contains multiple
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   233
          surfaces with keyboard interactivity set to exclusive, the compositor
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   234
          determines the one receiving keyboard events in an implementation-
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   235
          defined manner. In this case, no guarantee is made when this surface
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   236
          will receive keyboard focus (if ever).
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   237
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   238
          For the bottom and background layers, the compositor is allowed to use
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   239
          normal focus semantics.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   240
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   241
          This setting is mainly intended for applications that need to ensure
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   242
          they receive all keyboard events, such as a lock screen or a password
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   243
          prompt.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   244
        </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   245
      </entry>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   246
      <entry name="on_demand" value="2" since="4">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   247
        <description summary="request regular keyboard focus semantics">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   248
          This requests the compositor to allow this surface to be focused and
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   249
          unfocused by the user in an implementation-defined manner. The user
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   250
          should be able to unfocus this surface even regardless of the layer
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   251
          it is on.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   252
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   253
          Typically, the compositor will want to use its normal mechanism to
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   254
          manage keyboard focus between layer shell surfaces with this setting
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   255
          and regular toplevels on the desktop layer (e.g. click to focus).
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   256
          Nevertheless, it is possible for a compositor to require a special
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   257
          interaction to focus or unfocus layer shell surfaces (e.g. requiring
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   258
          a click even if focus follows the mouse normally, or providing a
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   259
          keybinding to switch focus between layers).
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   260
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   261
          This setting is mainly intended for desktop shell components (e.g.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   262
          panels) that allow keyboard interaction. Using this option can allow
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   263
          implementing a desktop shell that can be fully usable without the
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   264
          mouse.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   265
        </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   266
      </entry>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   267
    </enum>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   268
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   269
    <request name="set_keyboard_interactivity">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   270
      <description summary="requests keyboard events">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   271
        Set how keyboard events are delivered to this surface. By default,
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   272
        layer shell surfaces do not receive keyboard events; this request can
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   273
        be used to change this.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   274
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   275
        This setting is inherited by child surfaces set by the get_popup
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   276
        request.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   277
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   278
        Layer surfaces receive pointer, touch, and tablet events normally. If
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   279
        you do not want to receive them, set the input region on your surface
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   280
        to an empty region.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   281
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   282
        Keyboard interactivity is double-buffered, see wl_surface.commit.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   283
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   284
      <arg name="keyboard_interactivity" type="uint" enum="keyboard_interactivity"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   285
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   286
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   287
    <request name="get_popup">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   288
      <description summary="assign this layer_surface as an xdg_popup parent">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   289
        This assigns an xdg_popup's parent to this layer_surface.  This popup
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   290
        should have been created via xdg_surface::get_popup with the parent set
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   291
        to NULL, and this request must be invoked before committing the popup's
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   292
        initial state.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   293
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   294
        See the documentation of xdg_popup for more details about what an
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   295
        xdg_popup is and how it is used.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   296
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   297
      <arg name="popup" type="object" interface="xdg_popup"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   298
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   299
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   300
    <request name="ack_configure">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   301
      <description summary="ack a configure event">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   302
        When a configure event is received, if a client commits the
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   303
        surface in response to the configure event, then the client
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   304
        must make an ack_configure request sometime before the commit
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   305
        request, passing along the serial of the configure event.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   306
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   307
        If the client receives multiple configure events before it
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   308
        can respond to one, it only has to ack the last configure event.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   309
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   310
        A client is not required to commit immediately after sending
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   311
        an ack_configure request - it may even ack_configure several times
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   312
        before its next surface commit.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   313
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   314
        A client may send multiple ack_configure requests before committing, but
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   315
        only the last request sent before a commit indicates which configure
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   316
        event the client really is responding to.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   317
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   318
      <arg name="serial" type="uint" summary="the serial from the configure event"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   319
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   320
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   321
    <request name="destroy" type="destructor">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   322
      <description summary="destroy the layer_surface">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   323
        This request destroys the layer surface.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   324
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   325
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   326
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   327
    <event name="configure">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   328
      <description summary="suggest a surface change">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   329
        The configure event asks the client to resize its surface.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   330
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   331
        Clients should arrange their surface for the new states, and then send
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   332
        an ack_configure request with the serial sent in this configure event at
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   333
        some point before committing the new surface.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   334
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   335
        The client is free to dismiss all but the last configure event it
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   336
        received.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   337
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   338
        The width and height arguments specify the size of the window in
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   339
        surface-local coordinates.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   340
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   341
        The size is a hint, in the sense that the client is free to ignore it if
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   342
        it doesn't resize, pick a smaller size (to satisfy aspect ratio or
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   343
        resize in steps of NxM pixels). If the client picks a smaller size and
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   344
        is anchored to two opposite anchors (e.g. 'top' and 'bottom'), the
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   345
        surface will be centered on this axis.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   346
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   347
        If the width or height arguments are zero, it means the client should
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   348
        decide its own window dimension.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   349
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   350
      <arg name="serial" type="uint"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   351
      <arg name="width" type="uint"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   352
      <arg name="height" type="uint"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   353
    </event>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   354
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   355
    <event name="closed">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   356
      <description summary="surface should be closed">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   357
        The closed event is sent by the compositor when the surface will no
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   358
        longer be shown. The output may have been destroyed or the user may
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   359
        have asked for it to be removed. Further changes to the surface will be
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   360
        ignored. The client should destroy the resource after receiving this
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   361
        event, and create a new surface if they so choose.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   362
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   363
    </event>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   364
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   365
    <enum name="error">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   366
      <entry name="invalid_surface_state" value="0" summary="provided surface state is invalid"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   367
      <entry name="invalid_size" value="1" summary="size is invalid"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   368
      <entry name="invalid_anchor" value="2" summary="anchor bitfield is invalid"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   369
      <entry name="invalid_keyboard_interactivity" value="3" summary="keyboard interactivity is invalid"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   370
    </enum>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   371
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   372
    <enum name="anchor" bitfield="true">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   373
      <entry name="top" value="1" summary="the top edge of the anchor rectangle"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   374
      <entry name="bottom" value="2" summary="the bottom edge of the anchor rectangle"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   375
      <entry name="left" value="4" summary="the left edge of the anchor rectangle"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   376
      <entry name="right" value="8" summary="the right edge of the anchor rectangle"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   377
    </enum>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   378
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   379
    <!-- Version 2 additions -->
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   380
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   381
    <request name="set_layer" since="2">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   382
      <description summary="change the layer of the surface">
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   383
        Change the layer that the surface is rendered on.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   384
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   385
        Layer is double-buffered, see wl_surface.commit.
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   386
      </description>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   387
      <arg name="layer" type="uint" enum="zwlr_layer_shell_v1.layer" summary="layer to move this surface to"/>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   388
    </request>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   389
  </interface>
5f04caa7212d git import
agaric <agaric@protonmail.com>
parents:
diff changeset
   390
</protocol>