summaryrefslogtreecommitdiff
path: root/swaybar/ipc.c
diff options
context:
space:
mode:
Diffstat (limited to 'swaybar/ipc.c')
-rw-r--r--swaybar/ipc.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/swaybar/ipc.c b/swaybar/ipc.c
index 097f9161..0dc39439 100644
--- a/swaybar/ipc.c
+++ b/swaybar/ipc.c
@@ -313,11 +313,13 @@ static bool ipc_parse_config(
int length = json_object_array_length(tray_bindings);
for (int i = 0; i < length; ++i) {
json_object *bind = json_object_array_get_idx(tray_bindings, i);
- json_object *button, *command;
- json_object_object_get_ex(bind, "input_code", &button);
- json_object_object_get_ex(bind, "command", &command);
- config->tray_bindings[json_object_get_int(button)] =
- strdup(json_object_get_string(command));
+ struct tray_binding *binding =
+ calloc(1, sizeof(struct tray_binding));
+ binding->button = json_object_get_int(
+ json_object_object_get(bind, "event_code"));
+ binding->command = strdup(json_object_get_string(
+ json_object_object_get(bind, "command")));
+ wl_list_insert(&config->tray_bindings, &binding->link);
}
}