Data Structures | Macros | Functions
The xdg_wm_base interface

The xdg_wm_base interface is exposed as a global object enabling clients to turn their wl_surfaces into windows in a desktop environment. More...

Data Structures

struct  xdg_wm_base_listener
 
struct  xdg_wm_base_interface
 

Macros

#define XDG_WM_BASE_PING_SINCE_VERSION   1
 
#define XDG_WM_BASE_DESTROY_SINCE_VERSION   1
 
#define XDG_WM_BASE_CREATE_POSITIONER_SINCE_VERSION   1
 
#define XDG_WM_BASE_GET_XDG_SURFACE_SINCE_VERSION   1
 
#define XDG_WM_BASE_PONG_SINCE_VERSION   1
 
#define XDG_WM_BASE_PING_SINCE_VERSION   1
 
#define XDG_WM_BASE_DESTROY_SINCE_VERSION   1
 
#define XDG_WM_BASE_CREATE_POSITIONER_SINCE_VERSION   1
 
#define XDG_WM_BASE_GET_XDG_SURFACE_SINCE_VERSION   1
 
#define XDG_WM_BASE_PONG_SINCE_VERSION   1
 

Functions

static int xdg_wm_base_add_listener (struct xdg_wm_base *xdg_wm_base, const struct xdg_wm_base_listener *listener, void *data)
 
static void xdg_wm_base_set_user_data (struct xdg_wm_base *xdg_wm_base, void *user_data)
 
static void * xdg_wm_base_get_user_data (struct xdg_wm_base *xdg_wm_base)
 
static void xdg_wm_base_destroy (struct xdg_wm_base *xdg_wm_base)
 Destroy this xdg_wm_base object. More...
 
static struct xdg_positioner * xdg_wm_base_create_positioner (struct xdg_wm_base *xdg_wm_base)
 Create a positioner object. More...
 
static struct xdg_surface * xdg_wm_base_get_xdg_surface (struct xdg_wm_base *xdg_wm_base, struct wl_surface *surface)
 This creates an xdg_surface for the given surface. More...
 
static void xdg_wm_base_pong (struct xdg_wm_base *xdg_wm_base, uint32_t serial)
 A client must respond to a ping event with a pong request or the client may be deemed unresponsive. More...
 
static void xdg_wm_base_send_ping (struct wl_resource *resource_, uint32_t serial)
 Sends an ping event to the client owning the resource. More...
 

Detailed Description

The xdg_wm_base interface is exposed as a global object enabling clients to turn their wl_surfaces into windows in a desktop environment.

It defines the basic functionality needed for clients and the compositor to create windows that can be dragged, resized, maximized, etc, as well as creating transient windows such as popup menus.

Function Documentation

◆ xdg_wm_base_destroy()

static void xdg_wm_base_destroy ( struct xdg_wm_base *  xdg_wm_base)
inlinestatic

Destroy this xdg_wm_base object.

Destroying a bound xdg_wm_base object while there are surfaces still alive created by this xdg_wm_base object instance is illegal and will result in a protocol error.

◆ xdg_wm_base_create_positioner()

static struct xdg_positioner* xdg_wm_base_create_positioner ( struct xdg_wm_base *  xdg_wm_base)
inlinestatic

Create a positioner object.

A positioner object is used to position surfaces relative to some parent surface. See the interface description and xdg_surface.get_popup for details.

◆ xdg_wm_base_get_xdg_surface()

static struct xdg_surface* xdg_wm_base_get_xdg_surface ( struct xdg_wm_base *  xdg_wm_base,
struct wl_surface *  surface 
)
inlinestatic

This creates an xdg_surface for the given surface.

While xdg_surface itself is not a role, the corresponding surface may only be assigned a role extending xdg_surface, such as xdg_toplevel or xdg_popup.

This creates an xdg_surface for the given surface. An xdg_surface is used as basis to define a role to a given surface, such as xdg_toplevel or xdg_popup. It also manages functionality shared between xdg_surface based surface roles.

See the documentation of xdg_surface for more details about what an xdg_surface is and how it is used.

◆ xdg_wm_base_pong()

static void xdg_wm_base_pong ( struct xdg_wm_base *  xdg_wm_base,
uint32_t  serial 
)
inlinestatic

A client must respond to a ping event with a pong request or the client may be deemed unresponsive.

See xdg_wm_base.ping.

◆ xdg_wm_base_send_ping()

static void xdg_wm_base_send_ping ( struct wl_resource *  resource_,
uint32_t  serial 
)
inlinestatic

Sends an ping event to the client owning the resource.

Parameters
resource_The client's resource
serialpass this to the pong request