server_decoration
-
# org_kde_kwin_server_decoration_manager
This interface allows to coordinate whether the server should create a server-side window decoration around a wl_surface representing a shell surface (wl_shell_surface or similar). By announcing support for this interface the server indicates that it supports server side decorations. Use in conjunction with zxdg_decoration_manager_v1 is undefined.Requests
-
struct org_kde_kwin_server_decoration* org_kde_kwin_server_decoration_manager_create(struct org_kde_kwin_server_decoration_manager* org_kde_kwin_server_decoration_manager,struct wl_surface* surface)When a client creates a server-side decoration object it indicates that it supports the protocol. The client is supposed to tell the server whether it wants server-side decorations or will provide client-side decorations. If the client does not create a server-side decoration object for a surface the server interprets this as lack of support for this protocol and considers it as client-side decorated. Nevertheless a client-side decorated surface should use this protocol to indicate to the server that it does not want a server-side deco.
Events
-
uint32_t mode /* The default decoration mode applied to newly created server decorations. */This event is emitted directly after binding the interface. It contains the default mode for the decoration. When a new server decoration object is created this new object will be in the default mode until the first request_mode is requested. The server may change the default mode at any time.
Enums
-
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_NONE /* Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated. */ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_CLIENT /* Client-side decoration: The decoration is part of the surface and the client. */ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_SERVER /* Server-side decoration: The server embeds the surface into a decoration frame. */
-
-
# org_kde_kwin_server_decoration
Requests
-
void org_kde_kwin_server_decoration_release(struct org_kde_kwin_server_decoration* org_kde_kwin_server_decoration)
-
void org_kde_kwin_server_decoration_request_mode(struct org_kde_kwin_server_decoration* org_kde_kwin_server_decoration,uint32_t mode /* The mode this surface wants to use. */)
Events
-
uint32_t mode /* The decoration mode applied to the surface by the server. */This event is emitted directly after the decoration is created and represents the base decoration policy by the server. E.g. a server which wants all surfaces to be client-side decorated will send Client, a server which wants server-side decoration will send Server. The client can request a different mode through the decoration request. The server will acknowledge this by another event with the same mode. So even if a server prefers server-side decoration it's possible to force a client-side decoration. The server may emit this event at any time. In this case the client can again request a different mode. It's the responsibility of the server to prevent a feedback loop.
Enums
-
ORG_KDE_KWIN_SERVER_DECORATION_MODE_NONE /* Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated. */ORG_KDE_KWIN_SERVER_DECORATION_MODE_CLIENT /* Client-side decoration: The decoration is part of the surface and the client. */ORG_KDE_KWIN_SERVER_DECORATION_MODE_SERVER /* Server-side decoration: The server embeds the surface into a decoration frame. */
-
Copyright Info
SPDX-FileCopyrightText: 2015 Martin Gräßlin
SPDX-License-Identifier: LGPL-2.1-or-later