wayland-protocols/xdg-decoration-unstable-v1.xml
author Sylvain Becker <sylvain.becker@gmail.com>
Mon, 21 Jan 2019 23:41:43 +0100
changeset 12569 05aff4771d9a
parent 12426 779d711b6b5e
permissions -rw-r--r--
Fixed bug 4024 - GameController error "Unexpected controller element"

If mapping string is terminated with a comma, there is no more values to parse.
dos@12426
     1
<?xml version="1.0" encoding="UTF-8"?>
dos@12426
     2
<protocol name="xdg_decoration_unstable_v1">
dos@12426
     3
  <copyright>
dos@12426
     4
    Copyright © 2018 Simon Ser
dos@12426
     5
dos@12426
     6
    Permission is hereby granted, free of charge, to any person obtaining a
dos@12426
     7
    copy of this software and associated documentation files (the "Software"),
dos@12426
     8
    to deal in the Software without restriction, including without limitation
dos@12426
     9
    the rights to use, copy, modify, merge, publish, distribute, sublicense,
dos@12426
    10
    and/or sell copies of the Software, and to permit persons to whom the
dos@12426
    11
    Software is furnished to do so, subject to the following conditions:
dos@12426
    12
dos@12426
    13
    The above copyright notice and this permission notice (including the next
dos@12426
    14
    paragraph) shall be included in all copies or substantial portions of the
dos@12426
    15
    Software.
dos@12426
    16
dos@12426
    17
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
dos@12426
    18
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dos@12426
    19
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
dos@12426
    20
    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
dos@12426
    21
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
dos@12426
    22
    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
dos@12426
    23
    DEALINGS IN THE SOFTWARE.
dos@12426
    24
  </copyright>
dos@12426
    25
dos@12426
    26
  <interface name="zxdg_decoration_manager_v1" version="1">
dos@12426
    27
    <description summary="window decoration manager">
dos@12426
    28
      This interface allows a compositor to announce support for server-side
dos@12426
    29
      decorations.
dos@12426
    30
dos@12426
    31
      A window decoration is a set of window controls as deemed appropriate by
dos@12426
    32
      the party managing them, such as user interface components used to move,
dos@12426
    33
      resize and change a window's state.
dos@12426
    34
dos@12426
    35
      A client can use this protocol to request being decorated by a supporting
dos@12426
    36
      compositor.
dos@12426
    37
dos@12426
    38
      If compositor and client do not negotiate the use of a server-side
dos@12426
    39
      decoration using this protocol, clients continue to self-decorate as they
dos@12426
    40
      see fit.
dos@12426
    41
dos@12426
    42
      Warning! The protocol described in this file is experimental and
dos@12426
    43
      backward incompatible changes may be made. Backward compatible changes
dos@12426
    44
      may be added together with the corresponding interface version bump.
dos@12426
    45
      Backward incompatible changes are done by bumping the version number in
dos@12426
    46
      the protocol and interface names and resetting the interface version.
dos@12426
    47
      Once the protocol is to be declared stable, the 'z' prefix and the
dos@12426
    48
      version number in the protocol and interface names are removed and the
dos@12426
    49
      interface version number is reset.
dos@12426
    50
    </description>
dos@12426
    51
dos@12426
    52
    <request name="destroy" type="destructor">
dos@12426
    53
      <description summary="destroy the decoration manager object">
dos@12426
    54
        Destroy the decoration manager. This doesn't destroy objects created
dos@12426
    55
        with the manager.
dos@12426
    56
      </description>
dos@12426
    57
    </request>
dos@12426
    58
dos@12426
    59
    <request name="get_toplevel_decoration">
dos@12426
    60
      <description summary="create a new toplevel decoration object">
dos@12426
    61
        Create a new decoration object associated with the given toplevel.
dos@12426
    62
dos@12426
    63
        Creating an xdg_toplevel_decoration from an xdg_toplevel which has a
dos@12426
    64
        buffer attached or committed is a client error, and any attempts by a
dos@12426
    65
        client to attach or manipulate a buffer prior to the first
dos@12426
    66
        xdg_toplevel_decoration.configure event must also be treated as
dos@12426
    67
        errors.
dos@12426
    68
      </description>
dos@12426
    69
      <arg name="id" type="new_id" interface="zxdg_toplevel_decoration_v1"/>
dos@12426
    70
      <arg name="toplevel" type="object" interface="xdg_toplevel"/>
dos@12426
    71
    </request>
dos@12426
    72
  </interface>
dos@12426
    73
dos@12426
    74
  <interface name="zxdg_toplevel_decoration_v1" version="1">
dos@12426
    75
    <description summary="decoration object for a toplevel surface">
dos@12426
    76
      The decoration object allows the compositor to toggle server-side window
dos@12426
    77
      decorations for a toplevel surface. The client can request to switch to
dos@12426
    78
      another mode.
dos@12426
    79
dos@12426
    80
      The xdg_toplevel_decoration object must be destroyed before its
dos@12426
    81
      xdg_toplevel.
dos@12426
    82
    </description>
dos@12426
    83
dos@12426
    84
    <enum name="error">
dos@12426
    85
      <entry name="unconfigured_buffer" value="0"
dos@12426
    86
        summary="xdg_toplevel has a buffer attached before configure"/>
dos@12426
    87
      <entry name="already_constructed" value="1"
dos@12426
    88
        summary="xdg_toplevel already has a decoration object"/>
dos@12426
    89
      <entry name="orphaned" value="2"
dos@12426
    90
        summary="xdg_toplevel destroyed before the decoration object"/>
dos@12426
    91
    </enum>
dos@12426
    92
dos@12426
    93
    <request name="destroy" type="destructor">
dos@12426
    94
      <description summary="destroy the decoration object">
dos@12426
    95
        Switch back to a mode without any server-side decorations at the next
dos@12426
    96
        commit.
dos@12426
    97
      </description>
dos@12426
    98
    </request>
dos@12426
    99
dos@12426
   100
    <enum name="mode">
dos@12426
   101
      <description summary="window decoration modes">
dos@12426
   102
        These values describe window decoration modes.
dos@12426
   103
      </description>
dos@12426
   104
      <entry name="client_side" value="1"
dos@12426
   105
        summary="no server-side window decoration"/>
dos@12426
   106
      <entry name="server_side" value="2"
dos@12426
   107
        summary="server-side window decoration"/>
dos@12426
   108
    </enum>
dos@12426
   109
dos@12426
   110
    <request name="set_mode">
dos@12426
   111
      <description summary="set the decoration mode">
dos@12426
   112
        Set the toplevel surface decoration mode. This informs the compositor
dos@12426
   113
        that the client prefers the provided decoration mode.
dos@12426
   114
dos@12426
   115
        After requesting a decoration mode, the compositor will respond by
dos@12426
   116
        emitting a xdg_surface.configure event. The client should then update
dos@12426
   117
        its content, drawing it without decorations if the received mode is
dos@12426
   118
        server-side decorations. The client must also acknowledge the configure
dos@12426
   119
        when committing the new content (see xdg_surface.ack_configure).
dos@12426
   120
dos@12426
   121
        The compositor can decide not to use the client's mode and enforce a
dos@12426
   122
        different mode instead.
dos@12426
   123
dos@12426
   124
        Clients whose decoration mode depend on the xdg_toplevel state may send
dos@12426
   125
        a set_mode request in response to a xdg_surface.configure event and wait
dos@12426
   126
        for the next xdg_surface.configure event to prevent unwanted state.
dos@12426
   127
        Such clients are responsible for preventing configure loops and must
dos@12426
   128
        make sure not to send multiple successive set_mode requests with the
dos@12426
   129
        same decoration mode.
dos@12426
   130
      </description>
dos@12426
   131
      <arg name="mode" type="uint" enum="mode" summary="the decoration mode"/>
dos@12426
   132
    </request>
dos@12426
   133
dos@12426
   134
    <request name="unset_mode">
dos@12426
   135
      <description summary="unset the decoration mode">
dos@12426
   136
        Unset the toplevel surface decoration mode. This informs the compositor
dos@12426
   137
        that the client doesn't prefer a particular decoration mode.
dos@12426
   138
dos@12426
   139
        This request has the same semantics as set_mode.
dos@12426
   140
      </description>
dos@12426
   141
    </request>
dos@12426
   142
dos@12426
   143
    <event name="configure">
dos@12426
   144
      <description summary="suggest a surface change">
dos@12426
   145
        The configure event asks the client to change its decoration mode. The
dos@12426
   146
        configured state should not be applied immediately. Clients must send an
dos@12426
   147
        ack_configure in response to this event. See xdg_surface.configure and
dos@12426
   148
        xdg_surface.ack_configure for details.
dos@12426
   149
dos@12426
   150
        A configure event can be sent at any time. The specified mode must be
dos@12426
   151
        obeyed by the client.
dos@12426
   152
      </description>
dos@12426
   153
      <arg name="mode" type="uint" enum="mode" summary="the decoration mode"/>
dos@12426
   154
    </event>
dos@12426
   155
  </interface>
dos@12426
   156
</protocol>