#define XEMBED_MAPPED (1 << 0)
#define XEMBED_EMBEDDED_NOTIFY 0
-xcb_connection_t *xcb_connection;
-
/* We define xcb_request_failed as a macro to include the relevant line number */
#define xcb_request_failed(cookie, err_msg) _xcb_request_failed(cookie, err_msg, __LINE__)
int _xcb_request_failed(xcb_void_cookie_t cookie, char *err_msg, int line);
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
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,
#define DEFAULT_DIR_MODE (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
+/**
+ * XCB connection and root screen
+ *
+ */
+extern xcb_connection_t *conn;
+extern xcb_screen_t *root_screen;
+
/**
* Opaque data structure for storing strings.
*
#include "libi3.h"
#include <math.h>
-extern xcb_screen_t *root_screen;
-
/*
* Convert a logical amount of pixels (e.g. 2 pixels on a “standard” 96 DPI
* screen) to a corresponding amount of physical pixels on a standard or retina
#include "libi3.h"
-extern xcb_connection_t *conn;
-extern xcb_screen_t *root_screen;
-
static const i3Font *savedFont = NULL;
#if PANGO_SUPPORT
#include "libi3.h"
-extern xcb_connection_t *conn;
-
/*
* All-in-one function which returns the modifier mask (XCB_MOD_MASK_*) for the
* given keysymbol, for example for XCB_NUM_LOCK (usually configured to mod2).
*/
#include "all.h"
-extern xcb_connection_t *conn;
-
/*
* Calculates sum of heights and sum of widths of all currently active outputs
*
*/
#include "all.h"
-extern xcb_connection_t *conn;
-
/*
* This is an ugly data structure which we need because there is no standard
* way of having nested functions (only available as a gcc extension at the