2 * vim:ts=4:sw=4:expandtab
4 * i3bar - an xcb-based status- and ws-bar for i3
5 * © 2010 Axel Wagner and contributors (see also: LICENSE)
12 #include <xcb/xproto.h>
16 typedef struct rect_t rect;
18 struct ev_loop *main_loop;
28 /* First value to make it the default. */
34 /* This data structure describes the way a status block should be rendered. These
35 * variables are updated each time the statusline is re-rendered. */
36 struct status_block_render_desc {
42 /* This data structure represents one JSON dictionary, multiple of these make
43 * up one status line. */
52 /* min_width can be specified either as a numeric value (in pixels) or as a
53 * string. For strings, we set min_width to the measured text width of
64 /* The amount of pixels necessary to render a separater after the block. */
65 uint32_t sep_block_width;
67 /* Continuously-updated information on how to render this status block. */
68 struct status_block_render_desc full_render;
69 struct status_block_render_desc short_render;
75 TAILQ_ENTRY(status_block) blocks;
78 TAILQ_HEAD(statusline_head, status_block) statusline_head;
84 #include "workspaces.h"
86 #include "trayclients.h"
90 #include "parse_json_header.h"
91 #include "draw_util.h"