#define COMMON_H_
#include <stdbool.h>
+#include <xcb/xcb.h>
+#include <xcb/xproto.h>
+#include "queue.h"
typedef struct rect_t rect;
int h;
};
-#include "queue.h"
+/* This data structure represents one JSON dictionary, multiple of these make
+ * up one status line. */
+struct status_block {
+ char *full_text;
+
+ char *color;
+
+ /* full_text, but converted to UCS-2. This variable is only temporarily
+ * used in refresh_statusline(). */
+ xcb_char2b_t *ucs2_full_text;
+ size_t glyph_count_full_text;
+
+ /* The amount of pixels necessary to render this block. This variable is
+ * only temporarily used in refresh_statusline(). */
+ uint32_t width;
+
+ TAILQ_ENTRY(status_block) blocks;
+};
+
+TAILQ_HEAD(statusline_head, status_block) statusline_head;
+
#include "child.h"
#include "ipc.h"
#include "outputs.h"
#include "xcb.h"
#include "config.h"
#include "libi3.h"
+#include "determine_json_version.h"
#endif