X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fi3.h;h=4d13d448f1395fdd97e13e82a477178e28ee4ea0;hb=be9a2bb7f8ffac4c360b272cd5717bc158c0bb74;hp=bd40f16b9eb8e79937d562937fab9fc743394a90;hpb=58ecd1490088da428e89ce732c583cb8cefaf320;p=i3%2Fi3 diff --git a/include/i3.h b/include/i3.h index bd40f16b..4d13d448 100644 --- a/include/i3.h +++ b/include/i3.h @@ -2,18 +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. * */ -#ifndef _I3_H -#define _I3_H +#pragma once + +#include #include #include #include +#include #include @@ -24,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. */ @@ -32,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). */ @@ -43,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, @@ -62,5 +74,3 @@ extern bool xcursor_supported, xkb_supported; extern xcb_window_t root; extern struct ev_loop *main_loop; extern bool only_check_config; - -#endif