]> git.sur5r.net Git - i3/i3/blobdiff - i3bar/include/common.h
Merge branch 'next'
[i3/i3] / i3bar / include / common.h
index 212b9dd1d8d55d887de02c2aa6f693a21b4d6b3e..1365082f54591c0720712ce346ce7c37373ff36d 100644 (file)
@@ -11,6 +11,7 @@
 #include <stdbool.h>
 #include <xcb/xcb.h>
 #include <xcb/xproto.h>
+#include "libi3.h"
 #include "queue.h"
 
 typedef struct rect_t rect;
@@ -26,21 +27,32 @@ struct rect_t {
     int h;
 };
 
+typedef enum {
+    ALIGN_LEFT,
+    ALIGN_CENTER,
+    ALIGN_RIGHT
+} blockalign_t;
+
 /* This data structure represents one JSON dictionary, multiple of these make
  * up one status line. */
 struct status_block {
-    char *full_text;
+    i3String *full_text;
 
     char *color;
+    uint32_t min_width;
+    blockalign_t align;
+
+    bool urgent;
+    bool no_separator;
 
-    /* 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 a separater after the block. */
+    uint32_t sep_block_width;
 
-    /* The amount of pixels necessary to render this block. This variable is
+    /* The amount of pixels necessary to render this block. These variables are
      * only temporarily used in refresh_statusline(). */
     uint32_t width;
+    uint32_t x_offset;
+    uint32_t x_append;
 
     TAILQ_ENTRY(status_block) blocks;
 };
@@ -52,9 +64,11 @@ TAILQ_HEAD(statusline_head, status_block) statusline_head;
 #include "outputs.h"
 #include "util.h"
 #include "workspaces.h"
+#include "mode.h"
 #include "trayclients.h"
 #include "xcb.h"
 #include "config.h"
 #include "libi3.h"
+#include "parse_json_header.h"
 
 #endif