Differentiate between all or no outputs

This commit is contained in:
Mikkel Oscar Lyderik 2016-02-23 15:06:04 +01:00
parent 212c6a18a2
commit e4c1176b72
3 changed files with 6 additions and 1 deletions

View File

@ -27,6 +27,7 @@ struct config {
bool strip_workspace_numbers; bool strip_workspace_numbers;
bool binding_mode_indicator; bool binding_mode_indicator;
bool workspace_buttons; bool workspace_buttons;
bool all_outputs;
list_t *outputs; list_t *outputs;
int height; int height;

View File

@ -51,6 +51,7 @@ struct config *init_config() {
config->strip_workspace_numbers = false; config->strip_workspace_numbers = false;
config->binding_mode_indicator = true; config->binding_mode_indicator = true;
config->workspace_buttons = true; config->workspace_buttons = true;
config->all_outputs = false;
config->outputs = create_list(); config->outputs = create_list();
/* height */ /* height */

View File

@ -78,10 +78,13 @@ static void ipc_parse_config(struct config *config, const char *payload) {
output = json_object_array_get_idx(outputs, i); output = json_object_array_get_idx(outputs, i);
output_str = json_object_get_string(output); output_str = json_object_get_string(output);
if (strcmp("*", output_str) == 0) { if (strcmp("*", output_str) == 0) {
config->all_outputs = true;
break; break;
} }
list_add(config->outputs, strdup(output_str)); list_add(config->outputs, strdup(output_str));
} }
} else {
config->all_outputs = true;
} }
if (colors) { if (colors) {
@ -251,7 +254,7 @@ void ipc_bar_init(struct bar *bar, const char *bar_id) {
} }
bool use_output = false; bool use_output = false;
if (bar->config->outputs->length == 0) { if (bar->config->all_outputs) {
use_output = true; use_output = true;
} else { } else {
int j = 0; int j = 0;