diff options
author | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-02-23 15:06:04 +0100 |
---|---|---|
committer | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-02-27 22:12:35 +0100 |
commit | e4c1176b726ab9391a3c9eb69670c09ffe3e4f0a (patch) | |
tree | 3eacdd14c2eb49826c56de8ddb7dbaf67720e59e | |
parent | Add outputs to bar_config ipc response (diff) | |
download | sway-e4c1176b726ab9391a3c9eb69670c09ffe3e4f0a.tar.gz sway-e4c1176b726ab9391a3c9eb69670c09ffe3e4f0a.tar.zst sway-e4c1176b726ab9391a3c9eb69670c09ffe3e4f0a.zip |
Differentiate between all or no outputs
-rw-r--r-- | include/bar/config.h | 1 | ||||
-rw-r--r-- | swaybar/config.c | 1 | ||||
-rw-r--r-- | swaybar/ipc.c | 5 |
3 files changed, 6 insertions, 1 deletions
diff --git a/include/bar/config.h b/include/bar/config.h index dfad0ba4..fc938c38 100644 --- a/include/bar/config.h +++ b/include/bar/config.h | |||
@@ -27,6 +27,7 @@ struct config { | |||
27 | bool strip_workspace_numbers; | 27 | bool strip_workspace_numbers; |
28 | bool binding_mode_indicator; | 28 | bool binding_mode_indicator; |
29 | bool workspace_buttons; | 29 | bool workspace_buttons; |
30 | bool all_outputs; | ||
30 | list_t *outputs; | 31 | list_t *outputs; |
31 | 32 | ||
32 | int height; | 33 | int height; |
diff --git a/swaybar/config.c b/swaybar/config.c index 5609f85f..fddea791 100644 --- a/swaybar/config.c +++ b/swaybar/config.c | |||
@@ -51,6 +51,7 @@ struct config *init_config() { | |||
51 | config->strip_workspace_numbers = false; | 51 | config->strip_workspace_numbers = false; |
52 | config->binding_mode_indicator = true; | 52 | config->binding_mode_indicator = true; |
53 | config->workspace_buttons = true; | 53 | config->workspace_buttons = true; |
54 | config->all_outputs = false; | ||
54 | config->outputs = create_list(); | 55 | config->outputs = create_list(); |
55 | 56 | ||
56 | /* height */ | 57 | /* height */ |
diff --git a/swaybar/ipc.c b/swaybar/ipc.c index b5ae6747..312c79b9 100644 --- a/swaybar/ipc.c +++ b/swaybar/ipc.c | |||
@@ -78,10 +78,13 @@ static void ipc_parse_config(struct config *config, const char *payload) { | |||
78 | output = json_object_array_get_idx(outputs, i); | 78 | output = json_object_array_get_idx(outputs, i); |
79 | output_str = json_object_get_string(output); | 79 | output_str = json_object_get_string(output); |
80 | if (strcmp("*", output_str) == 0) { | 80 | if (strcmp("*", output_str) == 0) { |
81 | config->all_outputs = true; | ||
81 | break; | 82 | break; |
82 | } | 83 | } |
83 | list_add(config->outputs, strdup(output_str)); | 84 | list_add(config->outputs, strdup(output_str)); |
84 | } | 85 | } |
86 | } else { | ||
87 | config->all_outputs = true; | ||
85 | } | 88 | } |
86 | 89 | ||
87 | if (colors) { | 90 | if (colors) { |
@@ -251,7 +254,7 @@ void ipc_bar_init(struct bar *bar, const char *bar_id) { | |||
251 | } | 254 | } |
252 | 255 | ||
253 | bool use_output = false; | 256 | bool use_output = false; |
254 | if (bar->config->outputs->length == 0) { | 257 | if (bar->config->all_outputs) { |
255 | use_output = true; | 258 | use_output = true; |
256 | } else { | 259 | } else { |
257 | int j = 0; | 260 | int j = 0; |