]> git.lizzy.rs Git - bspwm.git/blob - bspwm.h
Consider only `pointer_follows_monitor` exceptions
[bspwm.git] / bspwm.h
1 #ifndef _BSPWM_H
2 #define _BSPWM_H
3
4 #include "types.h"
5
6 #define ROOT_EVENT_MASK        (XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY)
7 #define CLIENT_EVENT_MASK      (XCB_EVENT_MASK_PROPERTY_CHANGE)
8 #define CLIENT_EVENT_MASK_FFP  (XCB_EVENT_MASK_PROPERTY_CHANGE | XCB_EVENT_MASK_ENTER_WINDOW)
9
10 xcb_connection_t *dpy;
11 int default_screen, screen_width, screen_height;
12 uint32_t num_clients;
13 uint32_t num_desktops;
14 unsigned int num_monitors;
15 unsigned int monitor_uid;
16 unsigned int desktop_uid;
17 unsigned int client_uid;
18 unsigned int rule_uid;
19 xcb_screen_t *screen;
20 xcb_window_t root;
21 uint8_t root_depth;
22 FILE *status_fifo;
23 char *status_prefix;
24
25 split_mode_t split_mode;
26 direction_t split_dir;
27 monitor_t *mon;
28 monitor_t *last_mon;
29 monitor_t *mon_head;
30 monitor_t *mon_tail;
31 rule_t *rule_head;
32 rule_t *rule_tail;
33
34 pointer_state_t *frozen_pointer;
35 xcb_window_t motion_recorder;
36 xcb_atom_t compton_shadow;
37
38 int exit_status;
39
40 bool visible;
41 bool running;
42
43 void register_events(void);
44 bool import_monitors(void);
45 void init(void);
46 void setup(void);
47 void cleanup(void);
48 void quit(void);
49
50 #endif