Use separate buffers for i3bar statusline for each workspace, track short and long renders separately, fixes #1824
This commit is contained in:
@ -31,6 +31,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 {
|
||||
@ -56,11 +64,9 @@ struct status_block {
|
||||
/* 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;
|
||||
|
Reference in New Issue
Block a user