X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=i3bar%2Fsrc%2Foutputs.c;h=841a7565c6e8257d2d79fe53b5e9d23ba57aeea2;hb=dc05d905c1ab0978ca98b3e15ff96d18df55c182;hp=d0d175ca07ad42fb7554a883c836f64f70a104ee;hpb=d5eb1120a42e0d4343f162b31b66aea47784e14e;p=i3%2Fi3 diff --git a/i3bar/src/outputs.c b/i3bar/src/outputs.c index d0d175ca..841a7565 100644 --- a/i3bar/src/outputs.c +++ b/i3bar/src/outputs.c @@ -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); @@ -296,3 +302,17 @@ i3_output *get_output_by_name(char *name) { return walk; } + +/* + * Returns true if the output has the currently focused workspace + * + */ +bool output_has_focus(i3_output *output) { + i3_ws *ws_walk; + TAILQ_FOREACH(ws_walk, output->workspaces, tailq) { + if (ws_walk->focused) { + return true; + } + } + return false; +}