commit a67fa8a05d010d488b821a7d6e91db5905f7a123
parent 18eaf452245d47461070894b4324d2afa47b0b05
Author: Ian Fan <ianfan0@gmail.com>
Date: Sun, 30 Sep 2018 15:09:55 +0100
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:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/swaybar/ipc.c b/swaybar/ipc.c
@@ -356,8 +356,12 @@ bool ipc_initialize(struct swaybar *bar) {
free(res);
ipc_get_outputs(bar);
- const char *subscribe = "[ \"workspace\", \"mode\" ]";
- len = strlen(subscribe);
+ struct swaybar_config *config = bar->config;
+ char subscribe[128]; // suitably large buffer
+ len = snprintf(subscribe, 128,
+ "[ \"barconfig_update\" %s %s ]",
+ config->binding_mode_indicator ? ", \"mode\"" : "",
+ config->workspace_buttons ? ", \"workspace\"" : "");
free(ipc_single_command(bar->ipc_event_socketfd,
IPC_SUBSCRIBE, subscribe, &len));
return true;