i3
i3.h
Go to the documentation of this file.
1 /*
2  * vim:ts=4:sw=4:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  * © 2009-2012 Michael Stapelberg and contributors (see also: LICENSE)
6  *
7  * i3.h: global variables that are used all over i3.
8  *
9  */
10 #ifndef I3_I3_H
11 #define I3_I3_H
12 
13 #include <sys/time.h>
14 #include <sys/resource.h>
15 
16 #include <xcb/xcb_keysyms.h>
17 
18 #include <X11/XKBlib.h>
19 
20 #define SN_API_NOT_YET_FROZEN 1
21 #include <libsn/sn-launcher.h>
22 
23 #include "queue.h"
24 #include "data.h"
25 #include "xcb.h"
26 
30 extern struct rlimit original_rlimit_core;
32 extern bool debug_build;
34 extern int listen_fds;
35 extern xcb_connection_t *conn;
36 extern int conn_screen;
40 extern xcb_timestamp_t last_timestamp;
41 extern SnDisplay *sndisplay;
42 extern xcb_key_symbols_t *keysyms;
43 extern char **start_argv;
44 extern Display *xlibdpy, *xkbdpy;
45 extern int xkb_current_group;
46 extern TAILQ_HEAD(bindings_head, Binding) *bindings;
47 extern TAILQ_HEAD(autostarts_head, Autostart) autostarts;
48 extern TAILQ_HEAD(autostarts_always_head, Autostart) autostarts_always;
49 extern TAILQ_HEAD(ws_assignments_head, Workspace_Assignment) ws_assignments;
50 extern TAILQ_HEAD(assignments_head, Assignment) assignments;
51 extern SLIST_HEAD(stack_wins_head, Stack_Window) stack_wins;
52 extern xcb_screen_t *root_screen;
53 
54 /* Color depth, visual id and colormap to use when creating windows and
55  * pixmaps. Will use 32 bit depth and an appropriate visual, if available,
56  * otherwise the root window’s default (usually 24 bit TrueColor). */
57 extern uint8_t root_depth;
58 extern xcb_visualid_t visual_id;
59 extern xcb_colormap_t colormap;
60 
61 extern bool xcursor_supported, xkb_supported;
62 extern xcb_window_t root;
63 extern struct ev_loop *main_loop;
64 extern bool only_check_config;
65 
66 #endif