X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=docs%2Fipc.html;h=1771a14660e37b92a924d4f8503fe96082c30cd7;hb=d5c09e7f9685ff3e10afb87d7f132105b2dc78ec;hp=0459e526fa0b3c766f0e7db3c3856e4a175ac11d;hpb=28ff16b683087e848dbc787f034d3d465a549938;p=i3%2Fi3.github.io diff --git a/docs/ipc.html b/docs/ipc.html index 0459e52..1771a14 100644 --- a/docs/ipc.html +++ b/docs/ipc.html @@ -4,13 +4,13 @@ - + i3: IPC interface (interprocess communication) @@ -31,7 +31,7 @@ window.onload = function(){asciidoc.footnotes(); asciidoc.toc(2);}

IPC interface (interprocess communication)

Michael Stapelberg
<michael@i3wm.org>
-October 2012 +February 2014
Table of Contents
@@ -279,12 +279,13 @@ VERSION (7)

3.2. COMMAND reply

-

The reply consists of a single serialized map. At the moment, the only -property is success (bool), but this will be expanded in future versions.

+

The reply consists of a list of serialized maps for each command that was +parsed. Each has the property success (bool) and may also include a +human-readable error message in the property error (string).

Example:

-
{ "success": true }
+
[{ "success": true }]
@@ -422,12 +423,12 @@ active (boolean)

-current_workspace (integer) +current_workspace (string)

- The current workspace which is visible on this output. null if the - output is not active. + The name of the current workspace that is visible on this output. null if + the output is not active.

@@ -447,7 +448,7 @@ rect (map) { "name": "LVDS1", "active": true, - "current_workspace": 4, + "current_workspace": "4", "rect": { "x": 0, "y": 0, @@ -458,7 +459,7 @@ rect (map) { "name": "VGA1", "active": true, - "current_workspace": 1, + "current_workspace": "1", "rect": { "x": 1280, "y": 0, @@ -494,10 +495,21 @@ name (string) The internal name of this container. For all containers which are part of the tree structure down to the workspace contents, this is set to a nice human-readable name of the container. + For containers that have an X11 window, the content is the title + (_NET_WM_NAME property) of that window. For all other containers, the content is not defined (yet).

+type (string) +
+
+

+ Type of this container. Can be one of "root", "output", "con", + "floating_con", "workspace" or "dockarea". +

+
+
border (string)
@@ -789,9 +801,8 @@ VGA1

3.7. MARKS reply

The reply consists of a single array of strings for each container that has a -mark. The order of that array is undefined. If more than one container has the -same mark, it will be represented multiple times in the reply (the array -contents are not unique).

+mark. A mark can only be set on one container, so the array is unique. +The order of that array is undefined.

If no window has a mark the response will be the empty array [].

@@ -873,6 +884,14 @@ workspace_buttons (boolean)

+binding_mode_indicator (boolean) +
+
+

+ Display the mode indicator or not? Defaults to true. +

+
+
verbose (boolean)
@@ -909,6 +928,14 @@ statusline

+separator +
+
+

+ Text color to be used for the separator. +

+
+
focused_workspace_text/focused_workspace_bg
@@ -963,6 +990,7 @@ urgent_workspace_text/urgent_workspace_bar "status_command": "i3status", "font": "-misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1", "workspace_buttons": true, + "binding_mode_indicator": true, "verbose": false, "colors": { "background": "#c0c0c0", @@ -1087,6 +1115,25 @@ mode (2) Sent whenever i3 changes its binding mode.

+
+window (3) +
+
+

+ Sent when a client’s window is successfully reparented (that is when i3 + has finished fitting it into a container), when a window received input + focus or when certain properties of the window have changed. +

+
+
+barconfig_update (4) +
+
+

+ Sent when the hidden_state or mode field in the barconfig of any bar + instance was updated and when the config is reloaded. +

+

Example:

@@ -1112,10 +1159,29 @@ if ($is_event) {

This event consists of a single serialized map containing a property change (string) which indicates the type of the change ("focus", "init", "empty", "urgent").

+

Moreover, when the change is "focus", an old (object) and a current +(object) properties will be present with the previous and current +workspace respectively. When the first switch occurs (when i3 focuses +the workspace visible at the beginning) there is no previous +workspace, and the old property will be set to null. Also note +that if the previous is empty it will get destroyed when switching, +but will still be present in the "old" property.

Example:

-
{ "change": "focus" }
+
{
+ "change": "focus",
+ "current": {
+  "id": 28489712,
+  "type": "workspace",
+  ...
+ }
+ "old": {
+  "id": 28489715,
+  "type": "workspace",
+  ...
+ }
+}
@@ -1141,6 +1207,56 @@ mode is simply named default.

{ "change": "default" }
+
+

4.6. window event

+

This event consists of a single serialized map containing a property +change (string) which indicates the type of the change

+
+

Additionally a container (object) field will be present, which consists +of the window’s parent container. Be aware that for the "new" event, the +container will hold the initial name of the newly reparented window (e.g. +if you run urxvt with a shell that changes the title, you will still at +this point get the window title as "urxvt").

+

Example:

+
+
+
{
+ "change": "new",
+ "container": {
+  "id": 35569536,
+  "type": "con",
+  ...
+ }
+}
+
+
+
+

4.7. barconfig_update event

+

This event consists of a single serialized map reporting on options from the +barconfig of the specified bar_id that were updated in i3. This event is the +same as a GET_BAR_CONFIG reply for the bar with the given id.

+
@@ -1156,41 +1272,25 @@ C

i3 includes a headerfile i3/ipc.h which provides you all constants. - However, there is no library yet. -

-
-
-Ruby -
-
-

- http://github.com/badboy/i3-ipc -

-
-
-Perl -
-
-

- https://metacpan.org/module/AnyEvent::I3

-
-
-Python -
-
-
+
+
+
        https://github.com/acrisci/i3ipc-glib
+Go::
+        * https://github.com/proxypoke/i3ipc
+JavaScript::
+        * https://github.com/acrisci/i3ipc-gjs
+Lua::
+        * https:/github.com/acrisci/i3ipc-lua
+Perl::
+        * https://metacpan.org/module/AnyEvent::I3
+Python::
+        * https://github.com/acrisci/i3ipc-python
+        * https://github.com/whitelynx/i3ipc (not maintained)
+        * https://github.com/ziberna/i3-py (not maintained)
+Ruby::
+        http://github.com/badboy/i3-ipc
+