aboutsummaryrefslogtreecommitdiff
path: root/wayland.h
blob: 9e6a6026f0a54175d0fd2133e2206612aa2ba667 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef WAYLAND_H
#define WAYLAND_H

#include <xkbcommon/xkbcommon.h>
#include <wayland-client.h>
#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;
} Client;

int allocate_shm_file(size_t size);

#endif