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

80  {
81  /**
82  * Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated.
83  */
85  /**
86  * Client-side decoration: The decoration is part of the surface and the client.
87  */
89  /**
90  * Server-side decoration: The server embeds the surface into a decoration frame.
91  */
93 };

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

123 {
124  return wl_proxy_add_listener((struct wl_proxy *) org_kde_kwin_server_decoration_manager,
125  (void (**)(void)) listener, data);
126 }

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

183 {
184  struct wl_proxy *id;
185 
186  id = wl_proxy_marshal_constructor((struct wl_proxy *) org_kde_kwin_server_decoration_manager,
188 
189  return (struct org_kde_kwin_server_decoration *) id;
190 }

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

163 {
164  wl_proxy_destroy((struct wl_proxy *) org_kde_kwin_server_decoration_manager);
165 }

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

150 {
151  return wl_proxy_get_user_data((struct wl_proxy *) org_kde_kwin_server_decoration_manager);
152 }

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

143 {
144  wl_proxy_set_user_data((struct wl_proxy *) org_kde_kwin_server_decoration_manager, user_data);
145 }
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:531
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