Merge pull request #333 from emersion/server-decoration

Add server-decoration protocol
This commit is contained in:
Drew DeVault 2017-10-27 09:28:25 -04:00 committed by GitHub
commit 4bee96bd30
8 changed files with 332 additions and 2 deletions

View file

@ -37,11 +37,13 @@ struct roots_desktop {
struct wlr_xdg_shell_v6 *xdg_shell_v6;
struct wlr_gamma_control_manager *gamma_control_manager;
struct wlr_screenshooter *screenshooter;
struct wlr_server_decoration_manager *server_decoration_manager;
struct wl_listener output_add;
struct wl_listener output_remove;
struct wl_listener xdg_shell_v6_surface;
struct wl_listener wl_shell_surface;
struct wl_listener decoration_new;
#ifdef HAS_XWAYLAND
struct wlr_xwayland *xwayland;

View file

@ -0,0 +1,44 @@
#ifndef WLR_TYPES_WLR_SERVER_DECORATION_H
#define WLR_TYPES_WLR_SERVER_DECORATION_H
#include <wayland-server.h>
struct wlr_server_decoration_manager {
struct wl_global *wl_global;
struct wl_list wl_resources;
struct wl_list decorations; // wlr_server_decoration::link
uint32_t default_mode; // enum org_kde_kwin_server_decoration_manager_mode
struct {
struct wl_signal new_decoration;
} events;
void *data;
};
struct wlr_server_decoration {
struct wl_resource *resource;
struct wlr_surface *surface;
struct wl_list link;
uint32_t mode; // enum org_kde_kwin_server_decoration_manager_mode
struct {
struct wl_signal destroy;
struct wl_signal mode;
} events;
struct wl_listener surface_destroy_listener;
void *data;
};
struct wlr_server_decoration_manager *wlr_server_decoration_manager_create(
struct wl_display *display);
void wlr_server_decoration_manager_set_default_mode(
struct wlr_server_decoration_manager *manager, uint32_t default_mode);
void wlr_server_decoration_manager_destroy(
struct wlr_server_decoration_manager *manager);
#endif