annotate src/include/types.h @ 0:f0372d3356b4 default tip

initial import
author Yasuri <linuxoverwindows@charliesmp.net>
date Sun, 30 Aug 2026 12:47:10 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
1 #ifndef TYPES_H
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
2 #define TYPES_H
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
3
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
4 #include <stdbool.h>
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
5 #include <stdint.h>
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
6
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
7 #include <swc.h>
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
8 #include <wayland-server.h>
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
9
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
10 enum {
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
11 BTN_LEFT = 0x110,
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
12 BTN_RIGHT = 0x111,
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
13 BTN_MIDDLE = 0x112,
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
14 };
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
15
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
16 enum {
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
17 MOD1 = SWC_MOD_ALT,
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
18 MOD4 = SWC_MOD_LOGO,
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
19 SHFT = SWC_MOD_SHIFT,
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
20 CTRL = SWC_MOD_CTRL,
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
21 };
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
22
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
23 union arg {
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
24 int i;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
25 uint32_t ui;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
26 float f;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
27 const void* v;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
28 };
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
29
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
30 struct bind {
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
31 uint32_t type;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
32 uint32_t mods;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
33 uint32_t ksym;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
34 union arg arg;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
35 void (*fn)(void* data, uint32_t time, uint32_t value, uint32_t state);
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
36 };
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
37
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
38 struct client {
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
39 struct wl_list link;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
40 struct swc_window* win;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
41 struct screen* scr;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
42 bool mapped;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
43 bool floating;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
44 bool fullscreen;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
45 int32_t x;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
46 int32_t y;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
47 uint32_t w;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
48 uint32_t h;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
49 uint32_t ws;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
50 };
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
51
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
52 struct config {
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
53 uint32_t motion_throttle_hz;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
54 uint32_t border_col_active;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
55 uint32_t border_col_normal;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
56 uint32_t border_width;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
57 uint32_t border_col_active_outer;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
58 uint32_t border_col_normal_outer;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
59 uint32_t border_width_outer;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
60 uint32_t gaps;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
61 uint32_t spawn_w;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
62 uint32_t spawn_h;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
63 int32_t repeat_rate;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
64 int32_t repeat_delay;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
65 };
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
66
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
67 struct grab {
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
68 bool active;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
69 bool resize;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
70 struct client* c;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
71 };
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
72
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
73 struct screen {
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
74 struct wl_list link;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
75 struct swc_screen* scr;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
76 int32_t x;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
77 int32_t y;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
78 uint32_t w;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
79 uint32_t h;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
80 };
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
81
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
82 struct wm {
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
83 struct wl_display* dpy;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
84 struct wl_event_loop* ev_loop;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
85
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
86 struct wl_list screens;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
87 struct wl_list clients;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
88
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
89 struct screen* sel_screen;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
90 struct client* sel_client;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
91 struct grab grab;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
92 uint8_t ws;
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
93 };
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
94
f0372d3356b4 initial import
Yasuri <linuxoverwindows@charliesmp.net>
parents:
diff changeset
95 #endif /* TYPES_H */