]> git.sur5r.net Git - i3/i3/blobdiff - include/ipc.h
Merge branch 'fix-restart'
[i3/i3] / include / ipc.h
index ef50ba8630da305dd977d7d2a7482d313bdae7da..5fa4334a6620a62816aa2a9a5180ebc0a1feda85 100644 (file)
@@ -7,8 +7,7 @@
  * ipc.c: UNIX domain socket IPC (initialization, client handling, protocol).
  *
  */
-#ifndef I3_IPC_H
-#define I3_IPC_H
+#pragma once
 
 #include <ev.h>
 #include <stdbool.h>
@@ -17,6 +16,7 @@
 
 #include "data.h"
 #include "tree.h"
+#include "config.h"
 
 #include "i3/ipc.h"
 
@@ -50,6 +50,12 @@ typedef void(*handler_t)(int, uint8_t*, int, uint32_t, uint32_t);
                                      int size, uint32_t message_size, \
                                      uint32_t message_type)
 
+/**
+ * Emulates mkdir -p (creates any missing folders)
+ *
+ */
+bool mkdirp(const char *path);
+
 /**
  * Handler for activity on the listening socket, meaning that a new client
  * has just connected and we should accept() him. Sets up the event handler
@@ -82,4 +88,20 @@ void ipc_shutdown(void);
 
 void dump_node(yajl_gen gen, Con *con, bool inplace_restart);
 
-#endif
+/**
+ * For the workspace "focus" event we send, along the usual "change" field,
+ * also the current and previous workspace, in "current" and "old"
+ * respectively.
+ */
+void ipc_send_workspace_focus_event(Con *current, Con *old);
+
+/**
+ * For the window events we send, along the usual "change" field,
+ * also the window container, in "container".
+ */
+void ipc_send_window_event(const char *property, Con *con);
+
+/**
+ * For the barconfig update events, we send the serialized barconfig.
+ */
+void ipc_send_barconfig_update_event(Barconfig *barconfig);