X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fi3.h;h=e7afe7e54b9ac48b4c08e0b854ccaa7575d7574f;hb=9d9b552b70aaef0d1356f9baa73dcb4ffd85104b;hp=5ca875417bb163c386e5da8d462ffcc6d1a2c486;hpb=cc09348414472e68287ab918df57158552146f72;p=i3%2Fi3 diff --git a/include/i3.h b/include/i3.h index 5ca87541..e7afe7e5 100644 --- a/include/i3.h +++ b/include/i3.h @@ -2,16 +2,19 @@ * 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 @@ -24,6 +27,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. */ @@ -32,8 +38,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). */ @@ -49,7 +63,6 @@ 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, @@ -58,7 +71,8 @@ extern uint8_t root_depth; extern xcb_visualid_t visual_id; extern xcb_colormap_t colormap; -extern bool xcursor_supported, xkb_supported; +extern bool xcursor_supported, xkb_supported, shape_supported; extern xcb_window_t root; extern struct ev_loop *main_loop; extern bool only_check_config; +extern bool force_xinerama;