]> git.lizzy.rs Git - bspwm.git/blob - bspwm.h
New message: 'list_rules'
[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 | XCB_EVENT_MASK_ENTER_WINDOW)
8
9 xcb_connection_t *dpy;
10 int default_screen, screen_width, screen_height;
11 uint32_t num_clients;
12 uint32_t num_desktops;
13 unsigned int num_monitors;
14 unsigned int monitor_uid;
15 unsigned int desktop_uid;
16 unsigned int client_uid;
17 unsigned int rule_uid;
18 xcb_screen_t *screen;
19 uint8_t root_depth;
20 FILE *status_fifo;
21
22 split_mode_t split_mode;
23 direction_t split_dir;
24 monitor_t *mon;
25 monitor_t *last_mon;
26 monitor_t *mon_head;
27 monitor_t *mon_tail;
28 rule_t *rule_head;
29 rule_t *rule_tail;
30 pointer_state_t *frozen_pointer;
31 xcb_point_t pointer_position;
32 xcb_window_t last_entered;
33 int exit_status;
34
35 bool visible;
36 bool running;
37
38 void register_events(void);
39 void handle_buttons(bool);
40 void grab_buttons(void);
41 void ungrab_buttons(void);
42 void setup(void);
43 void quit(void);
44
45 #endif