+ if (parsing_bindings) {
+ if (strcmp(cur_key, "command") == 0) {
+ binding_t *binding = TAILQ_LAST(&(config.bindings), bindings_head);
+ if (binding == NULL) {
+ ELOG("There is no binding to put the current command onto. This is a bug in i3.\n");
+ return 0;
+ }
+
+ if (binding->command != NULL) {
+ ELOG("The binding for input_code = %d already has a command. This is a bug in i3.\n", binding->input_code);
+ return 0;
+ }
+
+ sasprintf(&(binding->command), "%.*s", len, val);
+ return 1;
+ }
+
+ ELOG("Unknown key \"%s\" while parsing bar bindings.\n", cur_key);
+ return 0;
+ }
+
+ if (parsing_tray_outputs) {
+ DLOG("Adding tray_output = %.*s to the list.\n", len, val);
+ tray_output_t *tray_output = scalloc(1, sizeof(tray_output_t));
+ sasprintf(&(tray_output->output), "%.*s", len, val);
+ TAILQ_INSERT_TAIL(&(config.tray_outputs), tray_output, tray_outputs);
+ return 1;
+ }
+