Warning, /libraries/plasma-wayland-protocols/src/protocols/server-decoration.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <protocol name="server_decoration">
0003   <copyright><![CDATA[
0004     SPDX-FileCopyrightText: 2015 Martin Gräßlin
0005 
0006     SPDX-License-Identifier: LGPL-2.1-or-later
0007   ]]></copyright>
0008   <interface  name="org_kde_kwin_server_decoration_manager" version="1">
0009       <description summary="Server side window decoration manager">
0010         This interface allows to coordinate whether the server should create
0011         a server-side window decoration around a wl_surface representing a
0012         shell surface (wl_shell_surface or similar). By announcing support
0013         for this interface the server indicates that it supports server
0014         side decorations.
0015 
0016         Use in conjunction with zxdg_decoration_manager_v1 is undefined.
0017       </description>
0018       <request name="create">
0019         <description summary="Create a server-side decoration object for a given surface">
0020             When a client creates a server-side decoration object it indicates
0021             that it supports the protocol. The client is supposed to tell the
0022             server whether it wants server-side decorations or will provide
0023             client-side decorations.
0024 
0025             If the client does not create a server-side decoration object for
0026             a surface the server interprets this as lack of support for this
0027             protocol and considers it as client-side decorated. Nevertheless a
0028             client-side decorated surface should use this protocol to indicate
0029             to the server that it does not want a server-side deco.
0030         </description>
0031         <arg name="id" type="new_id" interface="org_kde_kwin_server_decoration"/>
0032         <arg name="surface" type="object" interface="wl_surface"/>
0033       </request>
0034       <enum name="mode">
0035             <description summary="Possible values to use in request_mode and the event mode."/>
0036             <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."/>
0037             <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
0038             <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
0039       </enum>
0040       <event name="default_mode">
0041           <description summary="The default mode used on the server">
0042               This event is emitted directly after binding the interface. It contains
0043               the default mode for the decoration. When a new server decoration object
0044               is created this new object will be in the default mode until the first
0045               request_mode is requested.
0046 
0047               The server may change the default mode at any time.
0048           </description>
0049           <arg name="mode" type="uint" summary="The default decoration mode applied to newly created server decorations."/>
0050       </event>
0051   </interface>
0052   <interface name="org_kde_kwin_server_decoration" version="1">
0053       <request name="release" type="destructor">
0054         <description summary="release the server decoration object"/>
0055       </request>
0056       <enum name="mode">
0057             <description summary="Possible values to use in request_mode and the event mode."/>
0058             <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."/>
0059             <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
0060             <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
0061       </enum>
0062       <request name="request_mode">
0063           <description summary="The decoration mode the surface wants to use."/>
0064           <arg name="mode" type="uint" summary="The mode this surface wants to use."/>
0065       </request>
0066       <event name="mode">
0067           <description summary="The new decoration mode applied by the server">
0068               This event is emitted directly after the decoration is created and
0069               represents the base decoration policy by the server. E.g. a server
0070               which wants all surfaces to be client-side decorated will send Client,
0071               a server which wants server-side decoration will send Server.
0072 
0073               The client can request a different mode through the decoration request.
0074               The server will acknowledge this by another event with the same mode. So
0075               even if a server prefers server-side decoration it's possible to force a
0076               client-side decoration.
0077 
0078               The server may emit this event at any time. In this case the client can
0079               again request a different mode. It's the responsibility of the server to
0080               prevent a feedback loop.
0081           </description>
0082           <arg name="mode" type="uint" summary="The decoration mode applied to the surface by the server."/>
0083       </event>
0084   </interface>
0085 </protocol>