aboutsummaryrefslogtreecommitdiffstats
path: root/swaybar/ipc.c
diff options
context:
space:
mode:
authorLibravatar Ian Fan <ianfan0@gmail.com>2018-09-30 15:09:55 +0100
committerLibravatar Ian Fan <ianfan0@gmail.com>2018-10-14 13:33:12 +0100
commita67fa8a05d010d488b821a7d6e91db5905f7a123 (patch)
tree875e687c2c707663f63c39683a828a9e21be2711 /swaybar/ipc.c
parentswaybar: annotate wl_list properties in definitions (diff)
downloadsway-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/ipc.c')
-rw-r--r--swaybar/ipc.c8
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;