* vim:ts=4:sw=4:expandtab
*
* i3bar - an xcb-based status- and ws-bar for i3
- * © 2010-2012 Axel Wagner and contributors (see also: LICENSE)
+ * © 2010 Axel Wagner and contributors (see also: LICENSE)
*
* xcb.c: Communicating with X
*
*/
#pragma once
+#include <config.h>
+
#include <stdint.h>
//#include "outputs.h"
-#ifdef XCB_COMPAT
-#define XCB_ATOM_CARDINAL CARDINAL
-#endif
-
#define _NET_SYSTEM_TRAY_ORIENTATION_HORZ 0
#define _NET_SYSTEM_TRAY_ORIENTATION_VERT 1
#define SYSTEM_TRAY_REQUEST_DOCK 0
#define XEMBED_MAPPED (1 << 0)
#define XEMBED_EMBEDDED_NOTIFY 0
+/* 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);
+
struct xcb_color_strings_t {
char *bar_fg;
char *bar_bg;
char *sep_fg;
+ char *focus_bar_fg;
+ char *focus_bar_bg;
+ char *focus_sep_fg;
char *active_ws_fg;
char *active_ws_bg;
char *active_ws_border;
char *urgent_ws_bg;
char *urgent_ws_fg;
char *urgent_ws_border;
+ char *binding_mode_bg;
+ char *binding_mode_fg;
+ char *binding_mode_border;
};
typedef struct xcb_colors_t xcb_colors_t;
+/* Cached width of the custom separator if one was set */
+int separator_symbol_width;
+
/*
* Early initialization of the connection to X11: Everything which does not
* depend on 'config'.