Go to the documentation of this file.
3 #ifndef XDG_SHELL_CLIENT_PROTOCOL_H
4 #define XDG_SHELL_CLIENT_PROTOCOL_H
8 #include "wayland-client.h"
56 struct xdg_positioner;
340 #ifndef XDG_WM_BASE_ERROR_ENUM
341 #define XDG_WM_BASE_ERROR_ENUM
393 struct xdg_wm_base *xdg_wm_base,
404 return wl_proxy_add_listener((
struct wl_proxy *) xdg_wm_base,
405 (
void (**)(
void)) listener,
data);
408 #define XDG_WM_BASE_DESTROY 0
409 #define XDG_WM_BASE_CREATE_POSITIONER 1
410 #define XDG_WM_BASE_GET_XDG_SURFACE 2
411 #define XDG_WM_BASE_PONG 3
416 #define XDG_WM_BASE_PING_SINCE_VERSION 1
421 #define XDG_WM_BASE_DESTROY_SINCE_VERSION 1
425 #define XDG_WM_BASE_CREATE_POSITIONER_SINCE_VERSION 1
429 #define XDG_WM_BASE_GET_XDG_SURFACE_SINCE_VERSION 1
433 #define XDG_WM_BASE_PONG_SINCE_VERSION 1
439 wl_proxy_set_user_data((
struct wl_proxy *) xdg_wm_base, user_data);
446 return wl_proxy_get_user_data((
struct wl_proxy *) xdg_wm_base);
452 return wl_proxy_get_version((
struct wl_proxy *) xdg_wm_base);
467 wl_proxy_marshal((
struct wl_proxy *) xdg_wm_base,
470 wl_proxy_destroy((
struct wl_proxy *) xdg_wm_base);
480 static inline struct xdg_positioner *
485 id = wl_proxy_marshal_constructor((
struct wl_proxy *) xdg_wm_base,
488 return (
struct xdg_positioner *)
id;
506 static inline struct xdg_surface *
511 id = wl_proxy_marshal_constructor((
struct wl_proxy *) xdg_wm_base,
514 return (
struct xdg_surface *)
id;
526 wl_proxy_marshal((
struct wl_proxy *) xdg_wm_base,
530 #ifndef XDG_POSITIONER_ERROR_ENUM
531 #define XDG_POSITIONER_ERROR_ENUM
540 #ifndef XDG_POSITIONER_ANCHOR_ENUM
541 #define XDG_POSITIONER_ANCHOR_ENUM
555 #ifndef XDG_POSITIONER_GRAVITY_ENUM
556 #define XDG_POSITIONER_GRAVITY_ENUM
570 #ifndef XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_ENUM
571 #define XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_ENUM
589 #define XDG_POSITIONER_DESTROY 0
590 #define XDG_POSITIONER_SET_SIZE 1
591 #define XDG_POSITIONER_SET_ANCHOR_RECT 2
592 #define XDG_POSITIONER_SET_ANCHOR 3
593 #define XDG_POSITIONER_SET_GRAVITY 4
594 #define XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT 5
595 #define XDG_POSITIONER_SET_OFFSET 6
601 #define XDG_POSITIONER_DESTROY_SINCE_VERSION 1
605 #define XDG_POSITIONER_SET_SIZE_SINCE_VERSION 1
609 #define XDG_POSITIONER_SET_ANCHOR_RECT_SINCE_VERSION 1
613 #define XDG_POSITIONER_SET_ANCHOR_SINCE_VERSION 1
617 #define XDG_POSITIONER_SET_GRAVITY_SINCE_VERSION 1
621 #define XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT_SINCE_VERSION 1
625 #define XDG_POSITIONER_SET_OFFSET_SINCE_VERSION 1
631 wl_proxy_set_user_data((
struct wl_proxy *) xdg_positioner, user_data);
638 return wl_proxy_get_user_data((
struct wl_proxy *) xdg_positioner);
644 return wl_proxy_get_version((
struct wl_proxy *) xdg_positioner);
655 wl_proxy_marshal((
struct wl_proxy *) xdg_positioner,
658 wl_proxy_destroy((
struct wl_proxy *) xdg_positioner);
673 wl_proxy_marshal((
struct wl_proxy *) xdg_positioner,
694 wl_proxy_marshal((
struct wl_proxy *) xdg_positioner,
711 wl_proxy_marshal((
struct wl_proxy *) xdg_positioner,
728 wl_proxy_marshal((
struct wl_proxy *) xdg_positioner,
752 wl_proxy_marshal((
struct wl_proxy *) xdg_positioner,
774 wl_proxy_marshal((
struct wl_proxy *) xdg_positioner,
778 #ifndef XDG_SURFACE_ERROR_ENUM
779 #define XDG_SURFACE_ERROR_ENUM
817 struct xdg_surface *xdg_surface,
828 return wl_proxy_add_listener((
struct wl_proxy *) xdg_surface,
829 (
void (**)(
void)) listener,
data);
832 #define XDG_SURFACE_DESTROY 0
833 #define XDG_SURFACE_GET_TOPLEVEL 1
834 #define XDG_SURFACE_GET_POPUP 2
835 #define XDG_SURFACE_SET_WINDOW_GEOMETRY 3
836 #define XDG_SURFACE_ACK_CONFIGURE 4
841 #define XDG_SURFACE_CONFIGURE_SINCE_VERSION 1
846 #define XDG_SURFACE_DESTROY_SINCE_VERSION 1
850 #define XDG_SURFACE_GET_TOPLEVEL_SINCE_VERSION 1
854 #define XDG_SURFACE_GET_POPUP_SINCE_VERSION 1
858 #define XDG_SURFACE_SET_WINDOW_GEOMETRY_SINCE_VERSION 1
862 #define XDG_SURFACE_ACK_CONFIGURE_SINCE_VERSION 1
868 wl_proxy_set_user_data((
struct wl_proxy *) xdg_surface, user_data);
875 return wl_proxy_get_user_data((
struct wl_proxy *) xdg_surface);
881 return wl_proxy_get_version((
struct wl_proxy *) xdg_surface);
893 wl_proxy_marshal((
struct wl_proxy *) xdg_surface,
896 wl_proxy_destroy((
struct wl_proxy *) xdg_surface);
908 static inline struct xdg_toplevel *
913 id = wl_proxy_marshal_constructor((
struct wl_proxy *) xdg_surface,
916 return (
struct xdg_toplevel *)
id;
931 static inline struct xdg_popup *
932 xdg_surface_get_popup(
struct xdg_surface *xdg_surface,
struct xdg_surface *parent,
struct xdg_positioner *positioner)
936 id = wl_proxy_marshal_constructor((
struct wl_proxy *) xdg_surface,
939 return (
struct xdg_popup *)
id;
978 wl_proxy_marshal((
struct wl_proxy *) xdg_surface,
1008 wl_proxy_marshal((
struct wl_proxy *) xdg_surface,
1012 #ifndef XDG_TOPLEVEL_RESIZE_EDGE_ENUM
1013 #define XDG_TOPLEVEL_RESIZE_EDGE_ENUM
1034 #ifndef XDG_TOPLEVEL_STATE_ENUM
1035 #define XDG_TOPLEVEL_STATE_ENUM
1095 struct xdg_toplevel *xdg_toplevel,
1098 struct wl_array *states);
1112 struct xdg_toplevel *xdg_toplevel);
1122 return wl_proxy_add_listener((
struct wl_proxy *) xdg_toplevel,
1123 (
void (**)(
void)) listener,
data);
1126 #define XDG_TOPLEVEL_DESTROY 0
1127 #define XDG_TOPLEVEL_SET_PARENT 1
1128 #define XDG_TOPLEVEL_SET_TITLE 2
1129 #define XDG_TOPLEVEL_SET_APP_ID 3
1130 #define XDG_TOPLEVEL_SHOW_WINDOW_MENU 4
1131 #define XDG_TOPLEVEL_MOVE 5
1132 #define XDG_TOPLEVEL_RESIZE 6
1133 #define XDG_TOPLEVEL_SET_MAX_SIZE 7
1134 #define XDG_TOPLEVEL_SET_MIN_SIZE 8
1135 #define XDG_TOPLEVEL_SET_MAXIMIZED 9
1136 #define XDG_TOPLEVEL_UNSET_MAXIMIZED 10
1137 #define XDG_TOPLEVEL_SET_FULLSCREEN 11
1138 #define XDG_TOPLEVEL_UNSET_FULLSCREEN 12
1139 #define XDG_TOPLEVEL_SET_MINIMIZED 13
1144 #define XDG_TOPLEVEL_CONFIGURE_SINCE_VERSION 1
1148 #define XDG_TOPLEVEL_CLOSE_SINCE_VERSION 1
1153 #define XDG_TOPLEVEL_DESTROY_SINCE_VERSION 1
1157 #define XDG_TOPLEVEL_SET_PARENT_SINCE_VERSION 1
1161 #define XDG_TOPLEVEL_SET_TITLE_SINCE_VERSION 1
1165 #define XDG_TOPLEVEL_SET_APP_ID_SINCE_VERSION 1
1169 #define XDG_TOPLEVEL_SHOW_WINDOW_MENU_SINCE_VERSION 1
1173 #define XDG_TOPLEVEL_MOVE_SINCE_VERSION 1
1177 #define XDG_TOPLEVEL_RESIZE_SINCE_VERSION 1
1181 #define XDG_TOPLEVEL_SET_MAX_SIZE_SINCE_VERSION 1
1185 #define XDG_TOPLEVEL_SET_MIN_SIZE_SINCE_VERSION 1
1189 #define XDG_TOPLEVEL_SET_MAXIMIZED_SINCE_VERSION 1
1193 #define XDG_TOPLEVEL_UNSET_MAXIMIZED_SINCE_VERSION 1
1197 #define XDG_TOPLEVEL_SET_FULLSCREEN_SINCE_VERSION 1
1201 #define XDG_TOPLEVEL_UNSET_FULLSCREEN_SINCE_VERSION 1
1205 #define XDG_TOPLEVEL_SET_MINIMIZED_SINCE_VERSION 1
1211 wl_proxy_set_user_data((
struct wl_proxy *) xdg_toplevel, user_data);
1215 static inline void *
1218 return wl_proxy_get_user_data((
struct wl_proxy *) xdg_toplevel);
1224 return wl_proxy_get_version((
struct wl_proxy *) xdg_toplevel);
1236 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1239 wl_proxy_destroy((
struct wl_proxy *) xdg_toplevel);
1265 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1283 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1314 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1336 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1363 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1404 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1449 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1494 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1525 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1557 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1591 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1618 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1637 wl_proxy_marshal((
struct wl_proxy *) xdg_toplevel,
1641 #ifndef XDG_POPUP_ERROR_ENUM
1642 #define XDG_POPUP_ERROR_ENUM
1672 struct xdg_popup *xdg_popup,
1685 struct xdg_popup *xdg_popup);
1695 return wl_proxy_add_listener((
struct wl_proxy *) xdg_popup,
1696 (
void (**)(
void)) listener,
data);
1699 #define XDG_POPUP_DESTROY 0
1700 #define XDG_POPUP_GRAB 1
1705 #define XDG_POPUP_CONFIGURE_SINCE_VERSION 1
1709 #define XDG_POPUP_POPUP_DONE_SINCE_VERSION 1
1714 #define XDG_POPUP_DESTROY_SINCE_VERSION 1
1718 #define XDG_POPUP_GRAB_SINCE_VERSION 1
1724 wl_proxy_set_user_data((
struct wl_proxy *) xdg_popup, user_data);
1728 static inline void *
1731 return wl_proxy_get_user_data((
struct wl_proxy *) xdg_popup);
1737 return wl_proxy_get_version((
struct wl_proxy *) xdg_popup);
1752 wl_proxy_marshal((
struct wl_proxy *) xdg_popup,
1755 wl_proxy_destroy((
struct wl_proxy *) xdg_popup);
1806 wl_proxy_marshal((
struct wl_proxy *) xdg_popup,
@ XDG_TOPLEVEL_RESIZE_EDGE_TOP_LEFT
#define XDG_SURFACE_DESTROY
@ XDG_POSITIONER_ANCHOR_TOP_RIGHT
@ XDG_TOPLEVEL_RESIZE_EDGE_TOP_RIGHT
@ XDG_TOPLEVEL_RESIZE_EDGE_TOP
#define XDG_TOPLEVEL_DESTROY
@ XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_SLIDE_Y
static void xdg_positioner_set_offset(struct xdg_positioner *xdg_positioner, int32_t x, int32_t y)
#define XDG_WM_BASE_GET_XDG_SURFACE
#define XDG_TOPLEVEL_SHOW_WINDOW_MENU
const struct wl_interface xdg_positioner_interface
@ XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_SLIDE_X
static void xdg_positioner_set_gravity(struct xdg_positioner *xdg_positioner, uint32_t gravity)
static void xdg_toplevel_set_max_size(struct xdg_toplevel *xdg_toplevel, int32_t width, int32_t height)
GLint GLint GLsizei width
#define XDG_POSITIONER_SET_SIZE
static void xdg_toplevel_show_window_menu(struct xdg_toplevel *xdg_toplevel, struct wl_seat *seat, uint32_t serial, int32_t x, int32_t y)
#define XDG_TOPLEVEL_UNSET_FULLSCREEN
#define XDG_POSITIONER_SET_ANCHOR_RECT
void(* close)(void *data, struct xdg_toplevel *xdg_toplevel)
static void xdg_wm_base_pong(struct xdg_wm_base *xdg_wm_base, uint32_t serial)
const struct wl_interface xdg_wm_base_interface
@ XDG_POPUP_ERROR_INVALID_GRAB
static struct xdg_positioner * xdg_wm_base_create_positioner(struct xdg_wm_base *xdg_wm_base)
@ XDG_WM_BASE_ERROR_INVALID_POSITIONER
static void xdg_positioner_set_anchor_rect(struct xdg_positioner *xdg_positioner, int32_t x, int32_t y, int32_t width, int32_t height)
@ XDG_POSITIONER_ANCHOR_BOTTOM_LEFT
#define XDG_POSITIONER_SET_CONSTRAINT_ADJUSTMENT
static uint32_t xdg_wm_base_get_version(struct xdg_wm_base *xdg_wm_base)
static void xdg_toplevel_set_fullscreen(struct xdg_toplevel *xdg_toplevel, struct wl_output *output)
const struct wl_interface xdg_toplevel_interface
static void xdg_toplevel_set_app_id(struct xdg_toplevel *xdg_toplevel, const char *app_id)
@ XDG_POSITIONER_ANCHOR_RIGHT
void(* configure)(void *data, struct xdg_surface *xdg_surface, uint32_t serial)
static void xdg_surface_destroy(struct xdg_surface *xdg_surface)
static void xdg_surface_set_window_geometry(struct xdg_surface *xdg_surface, int32_t x, int32_t y, int32_t width, int32_t height)
static void xdg_toplevel_set_parent(struct xdg_toplevel *xdg_toplevel, struct xdg_toplevel *parent)
static void xdg_wm_base_set_user_data(struct xdg_wm_base *xdg_wm_base, void *user_data)
#define XDG_TOPLEVEL_UNSET_MAXIMIZED
static void xdg_toplevel_unset_fullscreen(struct xdg_toplevel *xdg_toplevel)
static void xdg_toplevel_set_minimized(struct xdg_toplevel *xdg_toplevel)
@ XDG_POSITIONER_ANCHOR_TOP_LEFT
static int xdg_toplevel_add_listener(struct xdg_toplevel *xdg_toplevel, const struct xdg_toplevel_listener *listener, void *data)
#define XDG_SURFACE_SET_WINDOW_GEOMETRY
@ XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_RIGHT
@ XDG_WM_BASE_ERROR_INVALID_SURFACE_STATE
@ XDG_TOPLEVEL_STATE_RESIZING
static void xdg_positioner_destroy(struct xdg_positioner *xdg_positioner)
#define XDG_TOPLEVEL_RESIZE
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
#define XDG_SURFACE_GET_POPUP
#define XDG_TOPLEVEL_SET_PARENT
static int xdg_surface_add_listener(struct xdg_surface *xdg_surface, const struct xdg_surface_listener *listener, void *data)
static uint32_t xdg_popup_get_version(struct xdg_popup *xdg_popup)
@ XDG_POSITIONER_GRAVITY_BOTTOM
#define XDG_WM_BASE_CREATE_POSITIONER
static void xdg_toplevel_set_title(struct xdg_toplevel *xdg_toplevel, const char *title)
@ XDG_POSITIONER_ANCHOR_NONE
#define XDG_SURFACE_ACK_CONFIGURE
void(* ping)(void *data, struct xdg_wm_base *xdg_wm_base, uint32_t serial)
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_toplevel_destroy(struct xdg_toplevel *xdg_toplevel)
@ XDG_TOPLEVEL_RESIZE_EDGE_RIGHT
static void xdg_toplevel_move(struct xdg_toplevel *xdg_toplevel, struct wl_seat *seat, uint32_t serial)
@ XDG_POSITIONER_GRAVITY_BOTTOM_LEFT
@ XDG_POSITIONER_GRAVITY_LEFT
@ XDG_POSITIONER_ERROR_INVALID_INPUT
@ XDG_TOPLEVEL_STATE_MAXIMIZED
static struct xdg_surface * xdg_wm_base_get_xdg_surface(struct xdg_wm_base *xdg_wm_base, struct wl_surface *surface)
@ XDG_POSITIONER_GRAVITY_NONE
#define XDG_TOPLEVEL_SET_MIN_SIZE
GLint GLint GLint GLint GLint x
static uint32_t xdg_toplevel_get_version(struct xdg_toplevel *xdg_toplevel)
#define XDG_POSITIONER_DESTROY
static void * xdg_surface_get_user_data(struct xdg_surface *xdg_surface)
#define XDG_POSITIONER_SET_GRAVITY
#define XDG_TOPLEVEL_SET_APP_ID
@ XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_LEFT
static void xdg_surface_ack_configure(struct xdg_surface *xdg_surface, uint32_t serial)
GLint GLint GLsizei GLsizei height
static void xdg_wm_base_destroy(struct xdg_wm_base *xdg_wm_base)
@ XDG_POSITIONER_ANCHOR_BOTTOM
xdg_positioner_constraint_adjustment
#define XDG_WM_BASE_DESTROY
static void * xdg_toplevel_get_user_data(struct xdg_toplevel *xdg_toplevel)
static struct xdg_toplevel * xdg_surface_get_toplevel(struct xdg_surface *xdg_surface)
const struct wl_interface xdg_popup_interface
@ XDG_POSITIONER_ANCHOR_BOTTOM_RIGHT
static void xdg_toplevel_unset_maximized(struct xdg_toplevel *xdg_toplevel)
#define XDG_TOPLEVEL_SET_MAXIMIZED
#define XDG_SURFACE_GET_TOPLEVEL
#define XDG_TOPLEVEL_SET_FULLSCREEN
static void xdg_surface_set_user_data(struct xdg_surface *xdg_surface, void *user_data)
@ XDG_SURFACE_ERROR_UNCONFIGURED_BUFFER
static struct xdg_popup * xdg_surface_get_popup(struct xdg_surface *xdg_surface, struct xdg_surface *parent, struct xdg_positioner *positioner)
@ XDG_SURFACE_ERROR_ALREADY_CONSTRUCTED
@ XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_NONE
@ XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_RESIZE_X
@ XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_FLIP_X
void(* configure)(void *data, struct xdg_toplevel *xdg_toplevel, int32_t width, int32_t height, struct wl_array *states)
#define XDG_POSITIONER_SET_ANCHOR
GLint GLint GLint GLint GLint GLint y
#define XDG_TOPLEVEL_SET_MINIMIZED
static void xdg_positioner_set_size(struct xdg_positioner *xdg_positioner, int32_t width, int32_t height)
static void xdg_positioner_set_constraint_adjustment(struct xdg_positioner *xdg_positioner, uint32_t constraint_adjustment)
static void xdg_toplevel_set_min_size(struct xdg_toplevel *xdg_toplevel, int32_t width, int32_t height)
static void xdg_positioner_set_anchor(struct xdg_positioner *xdg_positioner, uint32_t anchor)
static void xdg_toplevel_resize(struct xdg_toplevel *xdg_toplevel, struct wl_seat *seat, uint32_t serial, uint32_t edges)
@ XDG_WM_BASE_ERROR_DEFUNCT_SURFACES
static uint32_t xdg_surface_get_version(struct xdg_surface *xdg_surface)
static void xdg_positioner_set_user_data(struct xdg_positioner *xdg_positioner, void *user_data)
@ XDG_POSITIONER_GRAVITY_TOP
@ XDG_POSITIONER_GRAVITY_BOTTOM_RIGHT
static void * xdg_wm_base_get_user_data(struct xdg_wm_base *xdg_wm_base)
@ XDG_WM_BASE_ERROR_NOT_THE_TOPMOST_POPUP
#define XDG_TOPLEVEL_SET_TITLE
@ XDG_POSITIONER_ANCHOR_TOP
const struct wl_interface xdg_surface_interface
@ XDG_POSITIONER_GRAVITY_RIGHT
@ XDG_SURFACE_ERROR_NOT_CONSTRUCTED
static void * xdg_positioner_get_user_data(struct xdg_positioner *xdg_positioner)
#define XDG_POPUP_DESTROY
static uint32_t xdg_positioner_get_version(struct xdg_positioner *xdg_positioner)
@ XDG_TOPLEVEL_RESIZE_EDGE_NONE
@ XDG_TOPLEVEL_STATE_FULLSCREEN
@ XDG_POSITIONER_GRAVITY_TOP_LEFT
static void xdg_toplevel_set_maximized(struct xdg_toplevel *xdg_toplevel)
SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char const char SDL_SCANF_FORMAT_STRING const char return SDL_ThreadFunction const char void return Uint32 return Uint32 void
@ XDG_TOPLEVEL_STATE_ACTIVATED
@ XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_FLIP_Y
@ XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_RESIZE_Y
@ XDG_POSITIONER_ANCHOR_LEFT
@ XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM
@ XDG_POSITIONER_GRAVITY_TOP_RIGHT
@ XDG_TOPLEVEL_RESIZE_EDGE_LEFT
#define XDG_TOPLEVEL_MOVE
#define XDG_TOPLEVEL_SET_MAX_SIZE
#define XDG_POSITIONER_SET_OFFSET
@ XDG_WM_BASE_ERROR_INVALID_POPUP_PARENT
static void xdg_toplevel_set_user_data(struct xdg_toplevel *xdg_toplevel, void *user_data)