#ifndef WAYLAND_H #define WAYLAND_H #include "xdg-shell-client-protocol.h" #include "wlr-layer-shell-protocol.h" typedef struct ListElement ListElement; struct ListElement { const char *name; ListElement *next; ListElement *previous; }; typedef struct { ListElement *first; ListElement *last; uint32_t size; } List; struct client_state { struct wl_display *wl_display; struct wl_registry *wl_registry; struct wl_shm *wl_shm; struct wl_compositor *wl_compositor; struct zwlr_layer_shell_v1 *zwlr_layer; struct zdwl_manager_v1 *dwl_manager; List tags; List layouts; }; int allocate_shm_file(size_t size); #endif