]> git.sur5r.net Git - i3/i3/blobdiff - include/i3/ipc.h
introduced i3 command for changing the hidden state and the mode of i3bar
[i3/i3] / include / i3 / ipc.h
index e8de2e1eb1c5690edff19a94e8d05f62ebcb21bd..6a50ccc8701fffe7fb68084de093929bed9f5553 100644 (file)
@@ -2,14 +2,23 @@
  * vim:ts=4:sw=4:expandtab
  *
  * i3 - an improved dynamic tiling window manager
- * © 2009-2010 Michael Stapelberg and contributors (see also: LICENSE)
+ * © 2009-2013 Michael Stapelberg and contributors (see also: LICENSE)
  *
  * This public header defines the different constants and message types to use
  * for the IPC interface to i3 (see docs/ipc for more information).
  *
  */
-#ifndef _I3_IPC_H
-#define _I3_IPC_H
+#ifndef I3_I3_IPC_H
+#define I3_I3_IPC_H
+
+#include <stdint.h>
+
+typedef struct i3_ipc_header {
+    /* 6 = strlen(I3_IPC_MAGIC) */
+    char magic[6];
+    uint32_t size;
+    uint32_t type;
+} __attribute__ ((packed)) i3_ipc_header_t;
 
 /*
  * Messages from clients to i3
@@ -40,8 +49,8 @@
 /** Request the configuration for a specific 'bar' */
 #define I3_IPC_MESSAGE_TYPE_GET_BAR_CONFIG      6
 
-/** Request the SHM debug log start/wrap markers */
-#define I3_IPC_MESSAGE_TYPE_GET_LOG_MARKERS     7
+/** Request the i3 version */
+#define I3_IPC_MESSAGE_TYPE_GET_VERSION         7
 
 /*
  * Messages from i3 to clients
@@ -69,8 +78,8 @@
 /** Bar config reply type */
 #define I3_IPC_REPLY_TYPE_BAR_CONFIG            6
 
-/** Request the SHM debug log start/wrap markers */
-#define I3_IPC_REPLY_TYPE_LOG_MARKERS           7
+/** i3 version reply type */
+#define I3_IPC_REPLY_TYPE_VERSION               7
 
 /*
  * Events from i3 to clients. Events have the first bit set high.
 /* The output event will be triggered upon changes in the output list */
 #define I3_IPC_EVENT_OUTPUT                     (I3_IPC_EVENT_MASK | 1)
 
+/* The output event will be triggered upon mode changes */
+#define I3_IPC_EVENT_MODE                       (I3_IPC_EVENT_MASK | 2)
+
+/* The window event will be triggered upon window changes */
+#define I3_IPC_EVENT_WINDOW                     (I3_IPC_EVENT_MASK | 3)
+
+/** Bar config update will be triggered to update the bar config */
+#define I3_IPC_EVENT_BARCONFIG_UPDATE           (I3_IPC_EVENT_MASK | 4)
+
 #endif