X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fi3.h;h=93a7e0a34cf6ca5983fe41cf7298b369bd32d9fe;hb=5720ba65ab073fff40cdf89f598d560e40741967;hp=4ed0d8d54f1c62796503fa5f79f168a7fb2e3738;hpb=34f6f185bfe9476801e6ef45114197becefb0b21;p=i3%2Fi3 diff --git a/include/i3.h b/include/i3.h index 4ed0d8d5..93a7e0a3 100644 --- a/include/i3.h +++ b/include/i3.h @@ -2,17 +2,20 @@ * vim:ts=4:sw=4:expandtab * * i3 - an improved dynamic tiling window manager - * © 2009-2012 Michael Stapelberg and contributors (see also: LICENSE) + * © 2009 Michael Stapelberg and contributors (see also: LICENSE) * * i3.h: global variables that are used all over i3. * */ #pragma once +#include + #include #include #include +#include #include @@ -23,6 +26,9 @@ #include "data.h" #include "xcb.h" +/** Git commit identifier, from version.c */ +extern const char *i3_version; + /** The original value of RLIMIT_CORE when i3 was started. We need to restore * this before starting any other process, since we set RLIMIT_CORE to * RLIM_INFINITY for i3 debugging versions. */ @@ -31,8 +37,16 @@ extern struct rlimit original_rlimit_core; extern bool debug_build; /** The number of file descriptors passed via socket activation. */ extern int listen_fds; -extern xcb_connection_t *conn; extern int conn_screen; +/** + * The EWMH support window that is used to indicate that an EWMH-compliant + * window manager is present. This window is created when i3 starts and + * kept alive until i3 exits. + * We also use this window as the focused window if no other window is + * available to be focused on the active workspace in order to prevent + * keyboard focus issues (see #1378). + */ +extern xcb_window_t ewmh_window; /** The last timestamp we got from X11 (timestamps are included in some events * and are used for some things, like determining a unique ID in startup * notification). */ @@ -42,13 +56,12 @@ extern xcb_key_symbols_t *keysyms; extern char **start_argv; extern Display *xlibdpy, *xkbdpy; extern int xkb_current_group; -extern TAILQ_HEAD(bindings_head, Binding) *bindings; +extern TAILQ_HEAD(bindings_head, Binding) * bindings; extern TAILQ_HEAD(autostarts_head, Autostart) autostarts; extern TAILQ_HEAD(autostarts_always_head, Autostart) autostarts_always; extern TAILQ_HEAD(ws_assignments_head, Workspace_Assignment) ws_assignments; extern TAILQ_HEAD(assignments_head, Assignment) assignments; extern SLIST_HEAD(stack_wins_head, Stack_Window) stack_wins; -extern xcb_screen_t *root_screen; /* Color depth, visual id and colormap to use when creating windows and * pixmaps. Will use 32 bit depth and an appropriate visual, if available, @@ -61,3 +74,4 @@ extern bool xcursor_supported, xkb_supported; extern xcb_window_t root; extern struct ev_loop *main_loop; extern bool only_check_config; +extern bool force_xinerama;