X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=bspwm.h;h=e348d132f44442cfab0e6caa5f6e3f3c5644450a;hb=6b2d8152ca1271159e60506e79d951869a7724b8;hp=e246e623b80aaf3840ee90c48337deb9322d50d3;hpb=eef5cac8c7bbf30165f07cf298f7824a6616b3a7;p=bspwm.git diff --git a/bspwm.h b/bspwm.h index e246e62..e348d13 100644 --- a/bspwm.h +++ b/bspwm.h @@ -1,26 +1,45 @@ #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 | XCB_EVENT_MASK_ENTER_WINDOW) + xcb_connection_t *dpy; int default_screen, screen_width, screen_height; +uint32_t num_clients; +uint32_t num_desktops; +unsigned int num_monitors; +unsigned int monitor_uid; +unsigned int desktop_uid; +unsigned int client_uid; +unsigned int rule_uid; xcb_screen_t *screen; +uint8_t root_depth; +FILE *status_fifo; + split_mode_t split_mode; direction_t split_dir; -Desktop *desk; -Desktop *prev_desk; -bool running; +monitor_t *mon; +monitor_t *last_mon; +monitor_t *mon_head; +monitor_t *mon_tail; +rule_t *rule_head; +rule_t *rule_tail; +pointer_state_t *frozen_pointer; +xcb_point_t pointer_position; +xcb_window_t last_entered; +int exit_status; -char *WM_ATOM_NAME[] = { "WM_PROTOCOLS", "WM_DELETE_WINDOW" }; -char *NET_ATOM_NAME[] = { "_NET_SUPPORTED", "_NET_WM_STATE_FULLSCREEN", "_NET_WM_STATE", "_NET_ACTIVE_WINDOW" }; - -enum { WM_PROTOCOLS, WM_DELETE_WINDOW, WM_COUNT }; -enum { NET_SUPPORTED, NET_FULLSCREEN, NET_WM_STATE, NET_ACTIVE, NET_COUNT }; - -xcb_atom_t wmatoms[WM_COUNT], netatoms[NET_COUNT]; +bool visible; +bool running; -int register_events(void); -xcb_screen_t *screen_of_display(xcb_connection_t *, int); -void sigchld(int); -void setup(int); +void register_events(void); +void handle_buttons(bool); +void grab_buttons(void); +void ungrab_buttons(void); +void setup(void); +void quit(void); #endif