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>