X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=i3bar%2Finclude%2Fcommon.h;h=77be318235681341c41ad39453f967544219383d;hb=fff3f79da9a87a1f790c6328f6615422f2b69b47;hp=90da9388a60b128b34ed2b929df8263c17984e2c;hpb=5dda3bc2aec30e453a69b2b871379533680cda60;p=i3%2Fi3 diff --git a/i3bar/include/common.h b/i3bar/include/common.h index 90da9388..77be3182 100644 --- a/i3bar/include/common.h +++ b/i3bar/include/common.h @@ -7,6 +7,8 @@ */ #pragma once +#include + #include #include #include @@ -31,6 +33,14 @@ typedef enum { ALIGN_RIGHT } blockalign_t; +/* This data structure describes the way a status block should be rendered. These + * variables are updated each time the statusline is re-rendered. */ +struct status_block_render_desc { + uint32_t width; + uint32_t x_offset; + uint32_t x_append; +}; + /* This data structure represents one JSON dictionary, multiple of these make * up one status line. */ struct status_block { @@ -38,6 +48,8 @@ struct status_block { i3String *short_text; char *color; + char *background; + char *border; /* min_width can be specified either as a numeric value (in pixels) or as a * string. For strings, we set min_width to the measured text width of @@ -49,25 +61,25 @@ struct status_block { bool urgent; bool no_separator; - bool is_markup; + bool pango_markup; /* 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. These variables are - * only temporarily used in refresh_statusline(). */ - uint32_t width; - uint32_t x_offset; - uint32_t x_append; + /* Continuously-updated information on how to render this status block. */ + struct status_block_render_desc full_render; + struct status_block_render_desc short_render; /* Optional */ char *name; char *instance; - TAILQ_ENTRY(status_block) blocks; + TAILQ_ENTRY(status_block) + blocks; }; -TAILQ_HEAD(statusline_head, status_block) statusline_head; +TAILQ_HEAD(statusline_head, status_block) +statusline_head; #include "child.h" #include "ipc.h" @@ -77,6 +89,6 @@ TAILQ_HEAD(statusline_head, status_block) statusline_head; #include "mode.h" #include "trayclients.h" #include "xcb.h" -#include "config.h" +#include "configuration.h" #include "libi3.h" #include "parse_json_header.h"