]> git.sur5r.net Git - i3/i3/blobdiff - i3bar/include/common.h
i3bar: Honor "urgent" protocol hint by unhiding
[i3/i3] / i3bar / include / common.h
index 74bd21528501d3b4701043ef51691c30e2891a61..e2582a02053bab03caacbc486774a47a27166cfa 100644 (file)
@@ -1,15 +1,18 @@
 /*
- * i3bar - an xcb-based status- and ws-bar for i3
- *
- * © 2010-2011 Axel Wagner and contributors
+ * vim:ts=4:sw=4:expandtab
  *
- * See file LICNSE for license information
+ * i3bar - an xcb-based status- and ws-bar for i3
+ * © 2010-2011 Axel Wagner and contributors (see also: LICENSE)
  *
  */
 #ifndef COMMON_H_
 #define COMMON_H_
 
 #include <stdbool.h>
+#include <xcb/xcb.h>
+#include <xcb/xproto.h>
+#include "libi3.h"
+#include "queue.h"
 
 typedef struct rect_t rect;
 
@@ -24,7 +27,24 @@ struct rect_t {
     int h;
 };
 
-#include "queue.h"
+/* This data structure represents one JSON dictionary, multiple of these make
+ * up one status line. */
+struct status_block {
+    i3String *full_text;
+
+    char *color;
+
+    bool urgent;
+
+    /* 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"
@@ -32,7 +52,8 @@ struct rect_t {
 #include "workspaces.h"
 #include "trayclients.h"
 #include "xcb.h"
-#include "ucs2_to_utf8.h"
 #include "config.h"
+#include "libi3.h"
+#include "parse_json_header.h"
 
 #endif