#ifndef _BSPWM_H
#define _BSPWM_H
+#include "types.h"
+
+#define ROOT_EVENT_MASK (XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY)
+#define CLIENT_EVENT_MASK (XCB_EVENT_MASK_PROPERTY_CHANGE)
+#define MOUSE_MODIFIER XCB_MOD_MASK_4
+
xcb_connection_t *dpy;
int default_screen, screen_width, screen_height;
unsigned int num_clients;
-unsigned int num_desktops;
+uint32_t num_desktops;
xcb_screen_t *screen;
+xcb_rectangle_t root_rect;
+uint8_t root_depth;
+
split_mode_t split_mode;
direction_t split_dir;
desktop_t *desk;
desktop_t *desk_head;
desktop_t *desk_tail;
rule_t *rule_head;
-bool running;
+pointer_state_t *frozen_pointer;
-/* enum { WM_PROTOCOLS, WM_DELETE_WINDOW, WM_COUNT }; */
+bool running;
-int register_events(void);
-xcb_screen_t *screen_of_display(xcb_connection_t *, int);
-/* void handle_zombie(int); */
-void setup(int);
+void register_events(void);
+void handle_zombie(int);
+void setup(void);
void quit(void);
#endif