2 * vim:ts=4:sw=4:expandtab
4 * i3 - an improved dynamic tiling window manager
5 * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
7 * i3.h: global variables that are used all over i3.
13 #include <xcb/xcb_keysyms.h>
15 #include <X11/XKBlib.h>
17 #define SN_API_NOT_YET_FROZEN 1
18 #include <libsn/sn-launcher.h>
24 extern xcb_connection_t *conn;
25 extern int conn_screen;
26 /** The last timestamp we got from X11 (timestamps are included in some events
27 * and are used for some things, like determining a unique ID in startup
29 extern xcb_timestamp_t last_timestamp;
30 extern SnDisplay *sndisplay;
31 extern xcb_key_symbols_t *keysyms;
32 extern char **start_argv;
33 extern Display *xlibdpy, *xkbdpy;
34 extern int xkb_current_group;
35 extern TAILQ_HEAD(bindings_head, Binding) *bindings;
36 extern TAILQ_HEAD(autostarts_head, Autostart) autostarts;
37 extern TAILQ_HEAD(autostarts_always_head, Autostart) autostarts_always;
38 extern TAILQ_HEAD(ws_assignments_head, Workspace_Assignment) ws_assignments;
39 extern TAILQ_HEAD(assignments_head, Assignment) assignments;
40 extern SLIST_HEAD(stack_wins_head, Stack_Window) stack_wins;
41 extern xcb_screen_t *root_screen;
42 extern uint8_t root_depth;
43 extern bool xcursor_supported, xkb_supported;
44 extern xcb_window_t root;
45 extern struct ev_loop *main_loop;
46 extern bool only_check_config;