Use separate buffers for i3bar statusline for each workspace, track short and long renders separately, fixes #1824

This commit is contained in:
David Simon
2015-10-26 11:27:09 -04:00
parent 30c3729a24
commit 071f11f9b9
5 changed files with 156 additions and 135 deletions

View File

@ -144,10 +144,16 @@ static int outputs_start_map_cb(void *params_) {
if (params->cur_key == NULL) {
new_output = smalloc(sizeof(i3_output));
new_output->name = NULL;
new_output->active = false;
new_output->primary = false;
new_output->visible = false;
new_output->ws = 0,
new_output->statusline_width = 0;
new_output->statusline_short_text = false;
memset(&new_output->rect, 0, sizeof(rect));
memset(&new_output->bar, 0, sizeof(surface_t));
memset(&new_output->buffer, 0, sizeof(surface_t));
memset(&new_output->statusline_buffer, 0, sizeof(surface_t));
new_output->workspaces = smalloc(sizeof(struct ws_head));
TAILQ_INIT(new_output->workspaces);