#ifndef WAYLAND_H #define WAYLAND_H #include #include #include "xdg-shell-client-protocol.h" typedef struct { struct wl_display *display; struct wl_registry *registry; struct wl_shm *shm; struct wl_compositor *compositor; struct xdg_wm_base *wm_base; struct wl_seat *seat; struct { struct xkb_state *state; struct xkb_keymap *keymap; struct xkb_context *context; struct wl_keyboard *keyboard; struct { uint32_t state; uint32_t sym; struct { uint32_t ctrl; uint32_t alt; uint32_t shift; } mods; } event; struct { int timer; int delay; int period; } repeat; } kb; struct { struct wl_pointer *pointer; struct { uint32_t x; uint32_t y; } position; struct { uint32_t button; uint32_t state; } buttons; } pointer; } Client; int allocate_shm_file(size_t size); #endif