Blame uwac/protocols/xdg-decoration-unstable-v1.xml

Packit Service 5a9772
Packit Service 5a9772
<protocol name="xdg_decoration_unstable_v1">
Packit Service 5a9772
  <copyright>
Packit Service 5a9772
    Copyright © 2018 Simon Ser
Packit Service 5a9772
Packit Service 5a9772
    Permission is hereby granted, free of charge, to any person obtaining a
Packit Service 5a9772
    copy of this software and associated documentation files (the "Software"),
Packit Service 5a9772
    to deal in the Software without restriction, including without limitation
Packit Service 5a9772
    the rights to use, copy, modify, merge, publish, distribute, sublicense,
Packit Service 5a9772
    and/or sell copies of the Software, and to permit persons to whom the
Packit Service 5a9772
    Software is furnished to do so, subject to the following conditions:
Packit Service 5a9772
Packit Service 5a9772
    The above copyright notice and this permission notice (including the next
Packit Service 5a9772
    paragraph) shall be included in all copies or substantial portions of the
Packit Service 5a9772
    Software.
Packit Service 5a9772
Packit Service 5a9772
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Packit Service 5a9772
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Packit Service 5a9772
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
Packit Service 5a9772
    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Packit Service 5a9772
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
Packit Service 5a9772
    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
Packit Service 5a9772
    DEALINGS IN THE SOFTWARE.
Packit Service 5a9772
  </copyright>
Packit Service 5a9772
Packit Service 5a9772
  <interface name="zxdg_decoration_manager_v1" version="1">
Packit Service 5a9772
    <description summary="window decoration manager">
Packit Service 5a9772
      This interface allows a compositor to announce support for server-side
Packit Service 5a9772
      decorations.
Packit Service 5a9772
Packit Service 5a9772
      A window decoration is a set of window controls as deemed appropriate by
Packit Service 5a9772
      the party managing them, such as user interface components used to move,
Packit Service 5a9772
      resize and change a window's state.
Packit Service 5a9772
Packit Service 5a9772
      A client can use this protocol to request being decorated by a supporting
Packit Service 5a9772
      compositor.
Packit Service 5a9772
Packit Service 5a9772
      If compositor and client do not negotiate the use of a server-side
Packit Service 5a9772
      decoration using this protocol, clients continue to self-decorate as they
Packit Service 5a9772
      see fit.
Packit Service 5a9772
Packit Service 5a9772
      Warning! The protocol described in this file is experimental and
Packit Service 5a9772
      backward incompatible changes may be made. Backward compatible changes
Packit Service 5a9772
      may be added together with the corresponding interface version bump.
Packit Service 5a9772
      Backward incompatible changes are done by bumping the version number in
Packit Service 5a9772
      the protocol and interface names and resetting the interface version.
Packit Service 5a9772
      Once the protocol is to be declared stable, the 'z' prefix and the
Packit Service 5a9772
      version number in the protocol and interface names are removed and the
Packit Service 5a9772
      interface version number is reset.
Packit Service 5a9772
    </description>
Packit Service 5a9772
Packit Service 5a9772
    <request name="destroy" type="destructor">
Packit Service 5a9772
      <description summary="destroy the decoration manager object">
Packit Service 5a9772
        Destroy the decoration manager. This doesn't destroy objects created
Packit Service 5a9772
        with the manager.
Packit Service 5a9772
      </description>
Packit Service 5a9772
    </request>
Packit Service 5a9772
Packit Service 5a9772
    <request name="get_toplevel_decoration">
Packit Service 5a9772
      <description summary="create a new toplevel decoration object">
Packit Service 5a9772
        Create a new decoration object associated with the given toplevel.
Packit Service 5a9772
Packit Service 5a9772
        Creating an xdg_toplevel_decoration from an xdg_toplevel which has a
Packit Service 5a9772
        buffer attached or committed is a client error, and any attempts by a
Packit Service 5a9772
        client to attach or manipulate a buffer prior to the first
Packit Service 5a9772
        xdg_toplevel_decoration.configure event must also be treated as
Packit Service 5a9772
        errors.
Packit Service 5a9772
      </description>
Packit Service 5a9772
      <arg name="id" type="new_id" interface="zxdg_toplevel_decoration_v1"/>
Packit Service 5a9772
      <arg name="toplevel" type="object" interface="xdg_toplevel"/>
Packit Service 5a9772
    </request>
Packit Service 5a9772
  </interface>
Packit Service 5a9772
Packit Service 5a9772
  <interface name="zxdg_toplevel_decoration_v1" version="1">
Packit Service 5a9772
    <description summary="decoration object for a toplevel surface">
Packit Service 5a9772
      The decoration object allows the compositor to toggle server-side window
Packit Service 5a9772
      decorations for a toplevel surface. The client can request to switch to
Packit Service 5a9772
      another mode.
Packit Service 5a9772
Packit Service 5a9772
      The xdg_toplevel_decoration object must be destroyed before its
Packit Service 5a9772
      xdg_toplevel.
Packit Service 5a9772
    </description>
Packit Service 5a9772
Packit Service 5a9772
    <enum name="error">
Packit Service 5a9772
      
Packit Service 5a9772
        summary="xdg_toplevel has a buffer attached before configure"/>
Packit Service 5a9772
      
Packit Service 5a9772
        summary="xdg_toplevel already has a decoration object"/>
Packit Service 5a9772
      
Packit Service 5a9772
        summary="xdg_toplevel destroyed before the decoration object"/>
Packit Service 5a9772
    </enum>
Packit Service 5a9772
Packit Service 5a9772
    <request name="destroy" type="destructor">
Packit Service 5a9772
      <description summary="destroy the decoration object">
Packit Service 5a9772
        Switch back to a mode without any server-side decorations at the next
Packit Service 5a9772
        commit.
Packit Service 5a9772
      </description>
Packit Service 5a9772
    </request>
Packit Service 5a9772
Packit Service 5a9772
    <enum name="mode">
Packit Service 5a9772
      <description summary="window decoration modes">
Packit Service 5a9772
        These values describe window decoration modes.
Packit Service 5a9772
      </description>
Packit Service 5a9772
      
Packit Service 5a9772
        summary="no server-side window decoration"/>
Packit Service 5a9772
      
Packit Service 5a9772
        summary="server-side window decoration"/>
Packit Service 5a9772
    </enum>
Packit Service 5a9772
Packit Service 5a9772
    <request name="set_mode">
Packit Service 5a9772
      <description summary="set the decoration mode">
Packit Service 5a9772
        Set the toplevel surface decoration mode. This informs the compositor
Packit Service 5a9772
        that the client prefers the provided decoration mode.
Packit Service 5a9772
Packit Service 5a9772
        After requesting a decoration mode, the compositor will respond by
Packit Service 5a9772
        emitting a xdg_surface.configure event. The client should then update
Packit Service 5a9772
        its content, drawing it without decorations if the received mode is
Packit Service 5a9772
        server-side decorations. The client must also acknowledge the configure
Packit Service 5a9772
        when committing the new content (see xdg_surface.ack_configure).
Packit Service 5a9772
Packit Service 5a9772
        The compositor can decide not to use the client's mode and enforce a
Packit Service 5a9772
        different mode instead.
Packit Service 5a9772
Packit Service 5a9772
        Clients whose decoration mode depend on the xdg_toplevel state may send
Packit Service 5a9772
        a set_mode request in response to a xdg_surface.configure event and wait
Packit Service 5a9772
        for the next xdg_surface.configure event to prevent unwanted state.
Packit Service 5a9772
        Such clients are responsible for preventing configure loops and must
Packit Service 5a9772
        make sure not to send multiple successive set_mode requests with the
Packit Service 5a9772
        same decoration mode.
Packit Service 5a9772
      </description>
Packit Service 5a9772
      <arg name="mode" type="uint" enum="mode" summary="the decoration mode"/>
Packit Service 5a9772
    </request>
Packit Service 5a9772
Packit Service 5a9772
    <request name="unset_mode">
Packit Service 5a9772
      <description summary="unset the decoration mode">
Packit Service 5a9772
        Unset the toplevel surface decoration mode. This informs the compositor
Packit Service 5a9772
        that the client doesn't prefer a particular decoration mode.
Packit Service 5a9772
Packit Service 5a9772
        This request has the same semantics as set_mode.
Packit Service 5a9772
      </description>
Packit Service 5a9772
    </request>
Packit Service 5a9772
Packit Service 5a9772
    <event name="configure">
Packit Service 5a9772
      <description summary="suggest a surface change">
Packit Service 5a9772
        The configure event asks the client to change its decoration mode. The
Packit Service 5a9772
        configured state should not be applied immediately. Clients must send an
Packit Service 5a9772
        ack_configure in response to this event. See xdg_surface.configure and
Packit Service 5a9772
        xdg_surface.ack_configure for details.
Packit Service 5a9772
Packit Service 5a9772
        A configure event can be sent at any time. The specified mode must be
Packit Service 5a9772
        obeyed by the client.
Packit Service 5a9772
      </description>
Packit Service 5a9772
      <arg name="mode" type="uint" enum="mode" summary="the decoration mode"/>
Packit Service 5a9772
    </event>
Packit Service 5a9772
  </interface>
Packit Service 5a9772
</protocol>