X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fi3%2Fipc.h;h=0c57f7fdf40c51541af0ca735b1e54ad63e7df4b;hb=6339427f017e1265a022e6537e16a8b4a921e52f;hp=9562a2099adaaf0cd073dec36190f743a1b0f711;hpb=02794015289e749be71e60e9533a405b05317452;p=i3%2Fi3 diff --git a/include/i3/ipc.h b/include/i3/ipc.h index 9562a209..0c57f7fd 100644 --- a/include/i3/ipc.h +++ b/include/i3/ipc.h @@ -2,7 +2,7 @@ * vim:ts=4:sw=4:expandtab * * i3 - an improved dynamic tiling window manager - * © 2009-2013 Michael Stapelberg and contributors (see also: LICENSE) + * © 2009 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). @@ -27,9 +27,12 @@ typedef struct i3_ipc_header { /** Never change this, only on major IPC breakage (don’t do that) */ #define I3_IPC_MAGIC "i3-ipc" -/** The payload of the message will be interpreted as a command */ +/** Deprecated: use I3_IPC_MESSAGE_TYPE_RUN_COMMAND */ #define I3_IPC_MESSAGE_TYPE_COMMAND 0 +/** The payload of the message will be interpreted as a command */ +#define I3_IPC_MESSAGE_TYPE_RUN_COMMAND 0 + /** Requests the current workspaces from i3 */ #define I3_IPC_MESSAGE_TYPE_GET_WORKSPACES 1 @@ -51,34 +54,34 @@ typedef struct i3_ipc_header { /** Request the i3 version */ #define I3_IPC_MESSAGE_TYPE_GET_VERSION 7 +/** Request a list of configured binding modes. */ +#define I3_IPC_MESSAGE_TYPE_GET_BINDING_MODES 8 + +/** Request the raw last loaded i3 config. */ +#define I3_IPC_MESSAGE_TYPE_GET_CONFIG 9 + +/** Send a tick event to all subscribers. */ +#define I3_IPC_MESSAGE_TYPE_SEND_TICK 10 + +/** Trigger an i3 sync protocol message via IPC. */ +#define I3_IPC_MESSAGE_TYPE_SYNC 11 + /* * Messages from i3 to clients * */ - -/** Command reply type */ #define I3_IPC_REPLY_TYPE_COMMAND 0 - -/** Workspaces reply type */ #define I3_IPC_REPLY_TYPE_WORKSPACES 1 - -/** Subscription reply type */ #define I3_IPC_REPLY_TYPE_SUBSCRIBE 2 - -/** Outputs reply type */ #define I3_IPC_REPLY_TYPE_OUTPUTS 3 - -/** Tree reply type */ #define I3_IPC_REPLY_TYPE_TREE 4 - -/** Marks reply type */ #define I3_IPC_REPLY_TYPE_MARKS 5 - -/** Bar config reply type */ #define I3_IPC_REPLY_TYPE_BAR_CONFIG 6 - -/** i3 version reply type */ #define I3_IPC_REPLY_TYPE_VERSION 7 +#define I3_IPC_REPLY_TYPE_BINDING_MODES 8 +#define I3_IPC_REPLY_TYPE_CONFIG 9 +#define I3_IPC_REPLY_TYPE_TICK 10 +#define I3_IPC_REPLY_TYPE_SYNC 11 /* * Events from i3 to clients. Events have the first bit set high. @@ -100,3 +103,12 @@ typedef struct i3_ipc_header { /** Bar config update will be triggered to update the bar config */ #define I3_IPC_EVENT_BARCONFIG_UPDATE (I3_IPC_EVENT_MASK | 4) + +/** The binding event will be triggered when bindings run */ +#define I3_IPC_EVENT_BINDING (I3_IPC_EVENT_MASK | 5) + +/** The shutdown event will be triggered when the ipc shuts down */ +#define I3_IPC_EVENT_SHUTDOWN (I3_IPC_EVENT_MASK | 6) + +/** The tick event will be sent upon a tick IPC message */ +#define I3_IPC_EVENT_TICK (I3_IPC_EVENT_MASK | 7)