]> git.sur5r.net Git - i3/i3/blobdiff - i3bar/src/config.c
Add support for a custom separator symbol
[i3/i3] / i3bar / src / config.c
index bb322619b427a3b33c1db31d22442ead6e145521..a83ca0aabdd59979b060633cc3009be11d9690b7 100644 (file)
@@ -38,7 +38,7 @@ static int config_map_key_cb(void *params_, const unsigned char *keyVal, size_t
 }
 
 /*
- * Parse a null-value (current_workspace)
+ * Parse a null value (current_workspace)
  *
  */
 static int config_null_cb(void *params_) {
@@ -144,6 +144,13 @@ static int config_string_cb(void *params_, const unsigned char *val, size_t _len
         return 1;
     }
 
+    if (!strcmp(cur_key, "separator_symbol")) {
+        DLOG("separator = %.*s\n", len, val);
+        I3STRING_FREE(config.separator_symbol);
+        config.separator_symbol = i3string_from_utf8_with_length((const char *)val, len);
+        return 1;
+    }
+
     if (!strcmp(cur_key, "outputs")) {
         DLOG("+output %.*s\n", len, val);
         int new_num_outputs = config.num_outputs + 1;
@@ -231,7 +238,7 @@ static yajl_callbacks outputs_callbacks = {
 };
 
 /*
- * Start parsing the received bar configuration json-string
+ * Start parsing the received bar configuration JSON string
  *
  */
 void parse_config_json(char *json) {
@@ -247,7 +254,7 @@ void parse_config_json(char *json) {
             break;
         case yajl_status_client_canceled:
         case yajl_status_error:
-            ELOG("Could not parse config-reply!\n");
+            ELOG("Could not parse config reply!\n");
             exit(EXIT_FAILURE);
             break;
     }