The org_kde_kwin_server_decoration_manager interface

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. More...

## Data Structures

struct | org_kde_kwin_server_decoration_manager_listener

## Macros

#define | ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_DEFAULT_MODE_SINCE_VERSION 1
#define | ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE_SINCE_VERSION 1

## Enumerations

enum | org_kde_kwin_server_decoration_manager_mode { ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_NONE = 0, ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_CLIENT = 1, ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_SERVER = 2 }

## Functions

static int | org_kde_kwin_server_decoration_manager_add_listener (struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager, const struct org_kde_kwin_server_decoration_manager_listener *listener, void *data)
static void | org_kde_kwin_server_decoration_manager_set_user_data (struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager, void *user_data)
static void * | org_kde_kwin_server_decoration_manager_get_user_data (struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
static void | org_kde_kwin_server_decoration_manager_destroy (struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
static 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)

## Detailed Description

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.

## Macro Definition Documentation

## ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE_SINCE_VERSION

#define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE_SINCE_VERSION 1

Definition at line 138 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

## ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_DEFAULT_MODE_SINCE_VERSION

#define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_DEFAULT_MODE_SINCE_VERSION 1

Definition at line 133 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

## Enumeration Type Documentation

## org_kde_kwin_server_decoration_manager_mode

enum org_kde_kwin_server_decoration_manager_mode

Possible values to use in request_mode and the event mode.

Enumerator
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.

Definition at line 80 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

{
/**
* 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_NONE = 0,
/**
* Client-side decoration: The decoration is part of the surface and the client.
*/
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_CLIENT = 1,
/**
* Server-side decoration: The server embeds the surface into a decoration frame.
*/
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_SERVER = 2,
};

## Function Documentation

## org_kde_kwin_server_decoration_manager_add_listener()

static int org_kde_kwin_server_decoration_manager_add_listener | ( | struct org_kde_kwin_server_decoration_manager * | org_kde_kwin_server_decoration_manager,
|  | const struct org_kde_kwin_server_decoration_manager_listener * | listener,
|  | void * | data
| ) |  |

inline static

Definition at line 121 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

{
return wl_proxy_add_listener((struct wl_proxy *) org_kde_kwin_server_decoration_manager,
(void (**)(void)) listener, data);
}

## org_kde_kwin_server_decoration_manager_create()

static 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
| ) |  |

inline static

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.

Definition at line 182 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

{
struct wl_proxy *id;
id = wl_proxy_marshal_constructor((struct wl_proxy *) org_kde_kwin_server_decoration_manager,
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE, &org_kde_kwin_server_decoration_interface, NULL, surface);
return (struct org_kde_kwin_server_decoration *) id;
}

References NULL, org_kde_kwin_server_decoration_interface, and ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE.

## org_kde_kwin_server_decoration_manager_destroy()

static void org_kde_kwin_server_decoration_manager_destroy | ( | struct org_kde_kwin_server_decoration_manager * | org_kde_kwin_server_decoration_manager | ) |

inline static

Definition at line 162 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

{
wl_proxy_destroy((struct wl_proxy *) org_kde_kwin_server_decoration_manager);
}

## org_kde_kwin_server_decoration_manager_get_user_data()

static void* org_kde_kwin_server_decoration_manager_get_user_data | ( | struct org_kde_kwin_server_decoration_manager * | org_kde_kwin_server_decoration_manager | ) |

inline static

Definition at line 149 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

{
return wl_proxy_get_user_data((struct wl_proxy *) org_kde_kwin_server_decoration_manager);
}

## org_kde_kwin_server_decoration_manager_set_user_data()

static void org_kde_kwin_server_decoration_manager_set_user_data | ( | struct org_kde_kwin_server_decoration_manager * | org_kde_kwin_server_decoration_manager,
|  | void * | user_data
| ) |  |

inline static

Definition at line 142 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

{
wl_proxy_set_user_data((struct wl_proxy *) org_kde_kwin_server_decoration_manager, user_data);
}
NULL
#define NULL
Definition: begin_code.h:167
surface
EGLSurface surface
Definition: eglext.h:248
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_SERVER
@ ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_SERVER
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:92
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_NONE
@ ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_NONE
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:84
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE
#define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:128
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_CLIENT
@ ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_CLIENT
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:88
id
GLuint id
Definition: SDL_opengl_glext.h:528
org_kde_kwin_server_decoration_interface
const struct wl_interface org_kde_kwin_server_decoration_interface
Definition: org-kde-kwin-server-decoration-manager-protocol.c:56