diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-03-30 00:30:38 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-03-30 00:30:38 -0400 |
commit | 2a90d26ebe2af75a19f1850a6a2105170b825e9a (patch) | |
tree | 483724c2d407d57456552b8b59ef216a38f1c445 | |
parent | Use output coords for layer surfaces (diff) | |
download | sway-2a90d26ebe2af75a19f1850a6a2105170b825e9a.tar.gz sway-2a90d26ebe2af75a19f1850a6a2105170b825e9a.tar.zst sway-2a90d26ebe2af75a19f1850a6a2105170b825e9a.zip |
Fix issues with swaybar on DRM
-rw-r--r-- | include/swaybar/config.h | 1 | ||||
-rw-r--r-- | swaybar/ipc.c | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/include/swaybar/config.h b/include/swaybar/config.h index 7634cb16..7f321df8 100644 --- a/include/swaybar/config.h +++ b/include/swaybar/config.h | |||
@@ -30,6 +30,7 @@ struct swaybar_config { | |||
30 | bool wrap_scroll; | 30 | bool wrap_scroll; |
31 | bool workspace_buttons; | 31 | bool workspace_buttons; |
32 | struct wl_list outputs; | 32 | struct wl_list outputs; |
33 | bool all_outputs; | ||
33 | int height; | 34 | int height; |
34 | 35 | ||
35 | struct { | 36 | struct { |
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); |