]> git.sur5r.net Git - i3/i3.github.io/blobdiff - _docs/ipc
update docs for 4.14
[i3/i3.github.io] / _docs / ipc
index 5113d79bf60abc178c798ab1f33ca30873fa7b9b..6572357704a92064a0b33cb7c830f22f10623e5d 100644 (file)
--- a/_docs/ipc
+++ b/_docs/ipc
@@ -80,6 +80,8 @@ GET_BAR_CONFIG (6)::
 GET_VERSION (7)::
        Gets the version of i3. The reply will be a JSON-encoded dictionary
        with the major, minor, patch and human-readable version.
+GET_BINDING_MODES (8)::
+        Gets a list of currently configured binding modes.
 
 So, a typical message could look like this:
 --------------------------------------------------
@@ -137,6 +139,8 @@ BAR_CONFIG (6)::
        Reply to the GET_BAR_CONFIG message.
 VERSION (7)::
        Reply to the GET_VERSION message.
+BINDING_MODES (8)::
+        Reply to the GET_BINDING_MODES message.
 
 === COMMAND reply
 
@@ -228,6 +232,8 @@ name (string)::
        The name of this output (as seen in +xrandr(1)+). Encoded in UTF-8.
 active (boolean)::
        Whether this output is currently active (has a valid mode).
+primary (boolean)::
+       Whether this output is currently the primary output.
 current_workspace (string)::
        The name of the current workspace that is visible on this output. +null+ if
        the output is not active.
@@ -258,7 +264,7 @@ rect (map)::
    "y": 0,
    "width": 1280,
    "height": 1024
-  },
+  }
  }
 ]
 -------------------
@@ -285,7 +291,7 @@ type (string)::
        Type of this container. Can be one of "root", "output", "con",
        "floating_con", "workspace" or "dockarea".
 border (string)::
-       Can be either "normal", "none" or "1pixel", dependending on the
+       Can be either "normal", "none" or "pixel", depending on the
        container’s border style.
 current_border_width (integer)::
        Number of pixels of the border width.
@@ -386,7 +392,7 @@ JSON dump:
         "y": 0,
         "width": 1280,
         "height": 0
-       },
+       }
       },
 
       {
@@ -520,6 +526,14 @@ statusline::
        Text color to be used for the statusline.
 separator::
        Text color to be used for the separator.
+focused_background::
+       Background color of the bar on the currently focused monitor output.
+focused_statusline::
+       Text color to be used for the statusline on the currently focused
+       monitor output.
+focused_separator::
+       Text color to be used for the separator on the currently focused
+       monitor output.
 focused_workspace_text/focused_workspace_bg/focused_workspace_border::
        Text/background/border color for a workspace button when the workspace
        has focus.
@@ -596,6 +610,15 @@ loaded_config_file_name (string)::
 }
 -------------------
 
+=== BINDING_MODES reply
+
+The reply consists of an array of all currently configured binding modes.
+
+*Example:*
+---------------------
+["default", "resize"]
+---------------------
+
 == Events
 
 [[events]]
@@ -650,6 +673,8 @@ barconfig_update (4)::
 binding (5)::
        Sent when a configured command binding is triggered with the keyboard or
        mouse
+shutdown (6)::
+       Sent when the ipc shuts down because of a restart or exit by user command
 
 *Example:*
 --------------------------------------------------------------------
@@ -673,9 +698,9 @@ 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"). A +current (object)+ property will be present with the
-affected workspace whenever the type of event affects a workspace (otherwise,
-it will be +null).
+"empty", "urgent", "reload", "rename", "restored", "move"). A
++current (object)+ property will be present with the affected workspace
+whenever the type of event affects a workspace (otherwise, it will be +null).
 
 When the change is "focus", an +old (object)+ property will be present with the
 previous workspace.  When the first switch occurs (when i3 focuses the
@@ -717,11 +742,15 @@ This event consists of a single serialized map containing a property
 This event consists of a single serialized map containing a property
 +change (string)+ which holds the name of current mode in use. The name
 is the same as specified in config when creating a mode. The default
-mode is simply named default.
+mode is simply named default. It contains a second property, +pango_markup+, which
+defines whether pango markup shall be used for displaying this mode.
 
 *Example:*
 ---------------------------
-{ "change": "default" }
+{
+  "change": "default",
+  "pango_markup": true
+}
 ---------------------------
 
 === window event
@@ -729,14 +758,15 @@ mode is simply named default.
 This event consists of a single serialized map containing a property
 +change (string)+ which indicates the type of the change
 
-* +new+ - the window has become managed by i3
-* +close+ - the window has closed
-* +focus+ - the window has received input focus
-* +title+ - the window's title has changed
-* +fullscreen_mode+ - the window has entered or exited fullscreen mode
-* +move+ - the window has changed its position in the tree
-* +floating+ - the window has transitioned to or from floating
-* +urgent+ - the window has become urgent or lost its urgent status
+* +new+ – the window has become managed by i3
+* +close+ – the window has closed
+* +focus+ – the window has received input focus
+* +title+ – the window's title has changed
+* +fullscreen_mode+ – the window has entered or exited fullscreen mode
+* +move+ – the window has changed its position in the tree
+* +floating+ – the window has transitioned to or from floating
+* +urgent+ – the window has become urgent or lost its urgent status
+* +mark+ – a mark has been added to or removed from the window
 
 Additionally a +container (object)+ field will be present, which consists
 of the window's parent container. Be aware that for the "new" event, the
@@ -765,7 +795,7 @@ same as a +GET_BAR_CONFIG+ reply for the bar with the given id.
 === binding event
 
 This event consists of a single serialized map reporting on the details of a
-binding that ran a command because of user input. The +change (sring)+ field
+binding that ran a command because of user input. The +change (string)+ field
 indicates what sort of binding event was triggered (right now it will always be
 +"run"+ but may be expanded in the future).
 
@@ -803,6 +833,20 @@ input_type (string)::
 }
 ---------------------------
 
+=== shutdown event
+
+This event is triggered when the connection to the ipc is about to shutdown
+because of a user action such as a +restart+ or +exit+ command. The +change
+(string)+ field indicates why the ipc is shutting down. It can be either
++"restart"+ or +"exit"+.
+
+*Example:*
+---------------------------
+{
+ "change": "restart"
+}
+---------------------------
+
 == See also (existing libraries)
 
 [[libraries]]
@@ -814,8 +858,10 @@ know):
 C::
        * i3 includes a headerfile +i3/ipc.h+ which provides you all constants.
        * https://github.com/acrisci/i3ipc-glib
+C++::
+       * https://github.com/drmgc/i3ipcpp
 Go::
-       * https://github.com/proxypoke/i3ipc
+       * https://github.com/mdirkse/i3ipc-go
 JavaScript::
        * https://github.com/acrisci/i3ipc-gjs
 Lua::
@@ -831,3 +877,5 @@ Ruby::
        * https://github.com/badboy/i3-ipc (not maintained)
 Rust::
        * https://github.com/tmerr/i3ipc-rs
+OCaml::
+       * https://github.com/Armael/ocaml-i3ipc