diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2018-09-30 15:09:55 +0100 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2018-09-30 15:09:55 +0100 |
| commit | 3ff13816049d36e551eb685fdb55b0168b7a2ba7 (patch) | |
| tree | 875e687c2c707663f63c39683a828a9e21be2711 | |
| parent | aebae39d708be35ab6e28406d79eb0e5bf6b4057 (diff) | |
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.
| -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) { 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; |
