1 typedef struct win_sys win_sys_t;
2 typedef struct win_wm win_wm_t;
12 key_alert = '\a', // Bell (alert)
13 key_backspace = '\b', // Backspace
14 key_formfeed = '\f', // Formfeed
15 key_newline = '\n', // New line
16 key_return = '\r', // Carriage return
17 key_tab = '\t', // Horizontal tab
18 key_vtab = '\v', // Vertical tab
19 key_singlequote = '\'', // Single quotation mark
20 key_doublequote = '\"', // Double quotation mark
21 key_backslash = '\\', // Backslash
22 key_question = '\?', // Literal question mark
23 key_none = 0xF0000, // unused unicode space
24 key_mouse0, key_mouse1, key_mouse2, key_mouse3,
25 key_mouse4, key_mouse5, key_mouse6, key_mouse7,
26 key_left, key_right, key_up, key_down,
27 key_home, key_end, key_pageup, key_pagedown,
28 key_f1, key_f2, key_f3, key_f4,
29 key_f5, key_f6, key_f7, key_f8,
30 key_f9, key_f10, key_f11, key_f12,
31 key_alt, key_ctrl, key_shift, key_win,
35 unsigned char alt : 1;
36 unsigned char ctrl : 1;
37 unsigned char shift : 1;
38 unsigned char win : 1;
40 unsigned char spare : 3;
42 #define MOD(...) ((mod_t){__VA_ARGS__})
43 #define mod2int(mod) (*((unsigned short*)&(mod)))
50 void sys_watch(win_t *win, Key_t key, mod_t mod);
52 void sys_move(win_t *win, int x, int y, int w, int h);
54 void sys_raise(win_t *win);
56 win_t *sys_init(void);
58 void sys_run(win_t *root);