#include <stdbool.h>
#include <xcb/xcb.h>
#include <xcb/xproto.h>
+#include "libi3.h"
#include "queue.h"
typedef struct rect_t rect;
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;
};
#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