diff options
author | Ian Fan <ianfan0@gmail.com> | 2018-09-30 15:09:55 +0100 |
---|---|---|
committer | Ian Fan <ianfan0@gmail.com> | 2018-10-14 13:33:12 +0100 |
commit | a67fa8a05d010d488b821a7d6e91db5905f7a123 (patch) | |
tree | 875e687c2c707663f63c39683a828a9e21be2711 /swaybar | |
parent | swaybar: annotate wl_list properties in definitions (diff) | |
download | sway-a67fa8a05d010d488b821a7d6e91db5905f7a123.tar.gz sway-a67fa8a05d010d488b821a7d6e91db5905f7a123.tar.zst sway-a67fa8a05d010d488b821a7d6e91db5905f7a123.zip |
swaybar: only subscribe to required events
This adds barconfig_update to the list of subscribed events, as well as
checking when the other events need to be subscribed to.
Diffstat (limited to 'swaybar')
-rw-r--r-- | swaybar/ipc.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/swaybar/ipc.c b/swaybar/ipc.c index 84046ab5..26b7eca6 100644 --- a/swaybar/ipc.c +++ b/swaybar/ipc.c | |||
@@ -356,8 +356,12 @@ bool ipc_initialize(struct swaybar *bar) { | |||
356 | free(res); | 356 | free(res); |
357 | ipc_get_outputs(bar); | 357 | ipc_get_outputs(bar); |
358 | 358 | ||
359 | const char *subscribe = "[ \"workspace\", \"mode\" ]"; | 359 | struct swaybar_config *config = bar->config; |
360 | len = strlen(subscribe); | 360 | char subscribe[128]; // suitably large buffer |
361 | len = snprintf(subscribe, 128, | ||
362 | "[ \"barconfig_update\" %s %s ]", | ||
363 | config->binding_mode_indicator ? ", \"mode\"" : "", | ||
364 | config->workspace_buttons ? ", \"workspace\"" : ""); | ||
361 | free(ipc_single_command(bar->ipc_event_socketfd, | 365 | free(ipc_single_command(bar->ipc_event_socketfd, |
362 | IPC_SUBSCRIBE, subscribe, &len)); | 366 | IPC_SUBSCRIBE, subscribe, &len)); |
363 | return true; | 367 | return true; |