]> git.sur5r.net Git - i3/i3/blobdiff - src/ipc.c
Changes for compiling on Illumos
[i3/i3] / src / ipc.c
index fa02883401015533832637789da5a51b07e9347e..4af78ab2762a47cd22c75d58e919cf4eec16238e 100644 (file)
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -469,17 +469,26 @@ void dump_node(yajl_gen gen, struct Con *con, bool inplace_restart) {
     y(map_close);
 }
 
-static void dump_mouse_commands(yajl_gen gen, Barconfig *config) {
-    ystr("mouse_commands");
-    y(map_open);
+static void dump_bar_bindings(yajl_gen gen, Barconfig *config) {
+    if (TAILQ_EMPTY(&(config->bar_bindings)))
+        return;
+
+    ystr("bindings");
+    y(array_open);
 
-    struct Mousecommand *current;
-    TAILQ_FOREACH(current, &(config->mouse_commands), commands) {
-        ystr(current->button);
+    struct Barbinding *current;
+    TAILQ_FOREACH(current, &(config->bar_bindings), bindings) {
+        y(map_open);
+
+        ystr("input_code");
+        y(integer, current->input_code);
+        ystr("command");
         ystr(current->command);
+
+        y(map_close);
     }
 
-    y(map_close);
+    y(array_close);
 }
 
 static void dump_bar_config(yajl_gen gen, Barconfig *config) {
@@ -505,6 +514,10 @@ static void dump_bar_config(yajl_gen gen, Barconfig *config) {
     } while (0)
 
     YSTR_IF_SET(tray_output);
+
+    ystr("tray_padding");
+    y(integer, config->tray_padding);
+
     YSTR_IF_SET(socket_path);
 
     ystr("mode");
@@ -562,7 +575,7 @@ static void dump_bar_config(yajl_gen gen, Barconfig *config) {
             break;
     }
 
-    dump_mouse_commands(gen, config);
+    dump_bar_bindings(gen, config);
 
     ystr("position");
     if (config->position == P_BOTTOM)
@@ -801,6 +814,9 @@ IPC_HANDLER(get_version) {
     ystr("human_readable");
     ystr(i3_version);
 
+    ystr("loaded_config_file_name");
+    ystr(current_configpath);
+
     y(map_close);
 
     const unsigned char *payload;
@@ -1071,7 +1087,7 @@ int ipc_create_socket(const char *filename) {
     char *copy = sstrdup(resolved);
     const char *dir = dirname(copy);
     if (!path_exists(dir))
-        mkdirp(dir);
+        mkdirp(dir, DEFAULT_DIR_MODE);
     free(copy);
 
     /* Unlink the unix domain socket before */