/*
* i3bar - an xcb-based status- and ws-bar for i3
*
- * © 2010 Axel Wagner and contributors
+ * © 2010-2011 Axel Wagner and contributors
*
* See file LICNSE for license information
*
#ifndef XCB_H_
#define XCB_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 SYSTEM_TRAY_BEGIN_MESSAGE 1
+#define SYSTEM_TRAY_CANCEL_MESSAGE 2
+#define XEMBED_MAPPED (1 << 0)
+#define XEMBED_EMBEDDED_NOTIFY 0
+
+struct xcb_color_strings_t {
+ char *bar_fg;
+ char *bar_bg;
+ char *active_ws_fg;
+ char *active_ws_bg;
+ char *inactive_ws_fg;
+ char *inactive_ws_bg;
+ char *focus_ws_bg;
+ char *focus_ws_fg;
+ char *urgent_ws_bg;
+ char *urgent_ws_fg;
+};
+
+typedef struct xcb_colors_t xcb_colors_t;
+
/*
* Initialize xcb and use the specified fontname for text-rendering
*
*/
-void init_xcb();
+char *init_xcb(char *fontname);
+
+/*
+ * Initialize the colors
+ *
+ */
+void init_colors(const struct xcb_color_strings_t *colors);
/*
* Cleanup the xcb-stuff.
*/
void destroy_window(i3_output *output);
+/*
+ * Reallocate the statusline-buffer
+ *
+ */
+void realloc_sl_buffer();
+
/*
* Reconfigure all bars and create new for newly activated outputs
*