Blame uwac/protocols/server-decoration.xml

Packit Service 5a9772
Packit Service 5a9772
<protocol name="server_decoration">
Packit Service 5a9772
  <copyright>
Packit Service 5a9772
    Copyright (C) 2015 Martin Gräßlin
Packit Service 5a9772
Packit Service 5a9772
    This program is free software: you can redistribute it and/or modify
Packit Service 5a9772
    it under the terms of the GNU Lesser General Public License as published by
Packit Service 5a9772
    the Free Software Foundation, either version 2.1 of the License, or
Packit Service 5a9772
    (at your option) any later version.
Packit Service 5a9772
Packit Service 5a9772
    This program is distributed in the hope that it will be useful,
Packit Service 5a9772
    but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 5a9772
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 5a9772
    GNU Lesser General Public License for more details.
Packit Service 5a9772
Packit Service 5a9772
    You should have received a copy of the GNU Lesser General Public License
Packit Service 5a9772
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit Service 5a9772
  ]]></copyright>
Packit Service 5a9772
  <interface  name="org_kde_kwin_server_decoration_manager" version="1">
Packit Service 5a9772
      <description summary="Server side window decoration manager">
Packit Service 5a9772
        This interface allows to coordinate whether the server should create
Packit Service 5a9772
        a server-side window decoration around a wl_surface representing a
Packit Service 5a9772
        shell surface (wl_shell_surface or similar). By announcing support
Packit Service 5a9772
        for this interface the server indicates that it supports server
Packit Service 5a9772
        side decorations.
Packit Service 5a9772
Packit Service 5a9772
        Use in conjunction with zxdg_decoration_manager_v1 is undefined.
Packit Service 5a9772
      </description>
Packit Service 5a9772
      <request name="create">
Packit Service 5a9772
        <description summary="Create a server-side decoration object for a given surface">
Packit Service 5a9772
            When a client creates a server-side decoration object it indicates
Packit Service 5a9772
            that it supports the protocol. The client is supposed to tell the
Packit Service 5a9772
            server whether it wants server-side decorations or will provide
Packit Service 5a9772
            client-side decorations.
Packit Service 5a9772
Packit Service 5a9772
            If the client does not create a server-side decoration object for
Packit Service 5a9772
            a surface the server interprets this as lack of support for this
Packit Service 5a9772
            protocol and considers it as client-side decorated. Nevertheless a
Packit Service 5a9772
            client-side decorated surface should use this protocol to indicate
Packit Service 5a9772
            to the server that it does not want a server-side deco.
Packit Service 5a9772
        </description>
Packit Service 5a9772
        <arg name="id" type="new_id" interface="org_kde_kwin_server_decoration"/>
Packit Service 5a9772
        <arg name="surface" type="object" interface="wl_surface"/>
Packit Service 5a9772
      </request>
Packit Service 5a9772
      <enum name="mode">
Packit Service 5a9772
            <description summary="Possible values to use in request_mode and the event mode."/>
Packit Service 5a9772
            <entry name="None" value="0" summary="Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated."/>
Packit Service 5a9772
            <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
Packit Service 5a9772
            <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
Packit Service 5a9772
      </enum>
Packit Service 5a9772
      <event name="default_mode">
Packit Service 5a9772
          <description summary="The default mode used on the server">
Packit Service 5a9772
              This event is emitted directly after binding the interface. It contains
Packit Service 5a9772
              the default mode for the decoration. When a new server decoration object
Packit Service 5a9772
              is created this new object will be in the default mode until the first
Packit Service 5a9772
              request_mode is requested.
Packit Service 5a9772
Packit Service 5a9772
              The server may change the default mode at any time.
Packit Service 5a9772
          </description>
Packit Service 5a9772
          <arg name="mode" type="uint" summary="The default decoration mode applied to newly created server decorations."/>
Packit Service 5a9772
      </event>
Packit Service 5a9772
  </interface>
Packit Service 5a9772
  <interface name="org_kde_kwin_server_decoration" version="1">
Packit Service 5a9772
      <request name="release" type="destructor">
Packit Service 5a9772
        <description summary="release the server decoration object"/>
Packit Service 5a9772
      </request>
Packit Service 5a9772
      <enum name="mode">
Packit Service 5a9772
            <description summary="Possible values to use in request_mode and the event mode."/>
Packit Service 5a9772
            <entry name="None" value="0" summary="Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated."/>
Packit Service 5a9772
            <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
Packit Service 5a9772
            <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
Packit Service 5a9772
      </enum>
Packit Service 5a9772
      <request name="request_mode">
Packit Service 5a9772
          <description summary="The decoration mode the surface wants to use."/>
Packit Service 5a9772
          <arg name="mode" type="uint" summary="The mode this surface wants to use."/>
Packit Service 5a9772
      </request>
Packit Service 5a9772
      <event name="mode">
Packit Service 5a9772
          <description summary="The new decoration mode applied by the server">
Packit Service 5a9772
              This event is emitted directly after the decoration is created and
Packit Service 5a9772
              represents the base decoration policy by the server. E.g. a server
Packit Service 5a9772
              which wants all surfaces to be client-side decorated will send Client,
Packit Service 5a9772
              a server which wants server-side decoration will send Server.
Packit Service 5a9772
Packit Service 5a9772
              The client can request a different mode through the decoration request.
Packit Service 5a9772
              The server will acknowledge this by another event with the same mode. So
Packit Service 5a9772
              even if a server prefers server-side decoration it's possible to force a
Packit Service 5a9772
              client-side decoration.
Packit Service 5a9772
Packit Service 5a9772
              The server may emit this event at any time. In this case the client can
Packit Service 5a9772
              again request a different mode. It's the responsibility of the server to
Packit Service 5a9772
              prevent a feedback loop.
Packit Service 5a9772
          </description>
Packit Service 5a9772
          <arg name="mode" type="uint" summary="The decoration mode applied to the surface by the server."/>
Packit Service 5a9772
      </event>
Packit Service 5a9772
  </interface>
Packit Service 5a9772
</protocol>