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 binding_mode_indicator;
bool workspace_buttons;
bool all_outputs;
list_t *outputs;
int height;

View File

@ -51,6 +51,7 @@ struct config *init_config() {
config->strip_workspace_numbers = false;
config->binding_mode_indicator = true;
config->workspace_buttons = true;
config->all_outputs = false;
config->outputs = create_list();
/* 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_str = json_object_get_string(output);
if (strcmp("*", output_str) == 0) {
config->all_outputs = true;
break;
}
list_add(config->outputs, strdup(output_str));
}
} else {
config->all_outputs = true;
}
if (colors) {
@ -251,7 +254,7 @@ void ipc_bar_init(struct bar *bar, const char *bar_id) {
}
bool use_output = false;
if (bar->config->outputs->length == 0) {
if (bar->config->all_outputs) {
use_output = true;
} else {
int j = 0;