diff options
Diffstat (limited to 'swaybar/ipc.c')
-rw-r--r-- | swaybar/ipc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/swaybar/ipc.c b/swaybar/ipc.c index a82904bd..326f25cc 100644 --- a/swaybar/ipc.c +++ b/swaybar/ipc.c | |||
@@ -188,7 +188,7 @@ static void ipc_parse_config( | |||
188 | json_object *output = json_object_array_get_idx(outputs, i); | 188 | json_object *output = json_object_array_get_idx(outputs, i); |
189 | const char *name = json_object_get_string(output); | 189 | const char *name = json_object_get_string(output); |
190 | if (strcmp("*", name) == 0) { | 190 | if (strcmp("*", name) == 0) { |
191 | // TODO: do we need to clear out the list here or something | 191 | config->all_outputs = true; |
192 | break; | 192 | break; |
193 | } | 193 | } |
194 | struct config_output *coutput = calloc( | 194 | struct config_output *coutput = calloc( |
@@ -197,6 +197,8 @@ static void ipc_parse_config( | |||
197 | coutput->index = SIZE_MAX; | 197 | coutput->index = SIZE_MAX; |
198 | wl_list_insert(&config->outputs, &coutput->link); | 198 | wl_list_insert(&config->outputs, &coutput->link); |
199 | } | 199 | } |
200 | } else { | ||
201 | config->all_outputs = true; | ||
200 | } | 202 | } |
201 | 203 | ||
202 | if (colors) { | 204 | if (colors) { |
@@ -279,7 +281,7 @@ static void ipc_get_outputs(struct swaybar *bar) { | |||
279 | if (!active) { | 281 | if (!active) { |
280 | continue; | 282 | continue; |
281 | } | 283 | } |
282 | if (wl_list_empty(&bar->config->outputs)) { | 284 | if (bar->config->all_outputs) { |
283 | struct config_output *coutput = calloc( | 285 | struct config_output *coutput = calloc( |
284 | 1, sizeof(struct config_output)); | 286 | 1, sizeof(struct config_output)); |
285 | coutput->name = strdup(name); | 287 | coutput->name = strdup(name); |