diff options
Diffstat (limited to 'swaybar/ipc.c')
-rw-r--r-- | swaybar/ipc.c | 12 |
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( | |||
313 | int length = json_object_array_length(tray_bindings); | 313 | int length = json_object_array_length(tray_bindings); |
314 | for (int i = 0; i < length; ++i) { | 314 | for (int i = 0; i < length; ++i) { |
315 | json_object *bind = json_object_array_get_idx(tray_bindings, i); | 315 | json_object *bind = json_object_array_get_idx(tray_bindings, i); |
316 | json_object *button, *command; | 316 | struct tray_binding *binding = |
317 | json_object_object_get_ex(bind, "input_code", &button); | 317 | calloc(1, sizeof(struct tray_binding)); |
318 | json_object_object_get_ex(bind, "command", &command); | 318 | binding->button = json_object_get_int( |
319 | config->tray_bindings[json_object_get_int(button)] = | 319 | json_object_object_get(bind, "event_code")); |
320 | strdup(json_object_get_string(command)); | 320 | binding->command = strdup(json_object_get_string( |
321 | json_object_object_get(bind, "command"))); | ||
322 | wl_list_insert(&config->tray_bindings, &binding->link); | ||
321 | } | 323 | } |
322 | } | 324 | } |
323 | 325 | ||