SDL  2.0
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 voidorg_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

◆ ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_DEFAULT_MODE_SINCE_VERSION

#define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_DEFAULT_MODE_SINCE_VERSION   1

Enumeration Type Documentation

◆ 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 86 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

86  {
87  /**
88  * Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated.
89  */
91  /**
92  * Client-side decoration: The decoration is part of the surface and the client.
93  */
95  /**
96  * Server-side decoration: The server embeds the surface into a decoration frame.
97  */
99 };

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

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

129 {
130  return wl_proxy_add_listener((struct wl_proxy *) org_kde_kwin_server_decoration_manager,
131  (void (**)(void)) listener, data);
132 }

◆ 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 
)
inlinestatic

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 188 of file org-kde-kwin-server-decoration-manager-client-protocol.h.

189 {
190  struct wl_proxy *id;
191 
192  id = wl_proxy_marshal_flags((struct wl_proxy *) org_kde_kwin_server_decoration_manager,
193  ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE, &org_kde_kwin_server_decoration_interface, wl_proxy_get_version((struct wl_proxy *) org_kde_kwin_server_decoration_manager), 0, NULL, surface);
194 
195  return (struct org_kde_kwin_server_decoration *) id;
196 }

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

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

169 {
170  wl_proxy_destroy((struct wl_proxy *) org_kde_kwin_server_decoration_manager);
171 }

◆ 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)
inlinestatic

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

156 {
157  return wl_proxy_get_user_data((struct wl_proxy *) org_kde_kwin_server_decoration_manager);
158 }

◆ 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 
)
inlinestatic

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

149 {
150  wl_proxy_set_user_data((struct wl_proxy *) org_kde_kwin_server_decoration_manager, user_data);
151 }
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:98
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:90
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:134
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:94
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