]> git.sur5r.net Git - i3/i3/blobdiff - docs/ipc
Document missing case of workspace event
[i3/i3] / docs / ipc
index 837b4d98606d56173dd1b06b93902d5ed03b6089..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.
@@ -582,17 +596,29 @@ human_readable (string)::
        build date and branch name. When you need to display the i3 version to
        your users, use the human-readable version whenever possible (since
        this is what +i3 --version+ displays, too).
+loaded_config_file_name (string)::
+       The current config path.
 
 *Example:*
 -------------------
 {
    "human_readable" : "4.2-169-gf80b877 (2012-08-05, branch \"next\")",
+   "loaded_config_file_name" : "/home/hwangcc23/.i3/config",
    "minor" : 2,
    "patch" : 0,
    "major" : 4
 }
 -------------------
 
+=== BINDING_MODES reply
+
+The reply consists of an array of all currently configured binding modes.
+
+*Example:*
+---------------------
+["default", "resize"]
+---------------------
+
 == Events
 
 [[events]]
@@ -647,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:*
 --------------------------------------------------------------------
@@ -670,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
@@ -714,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
@@ -726,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
@@ -762,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).
 
@@ -770,8 +803,8 @@ The +binding (object)+ field contains details about the binding that was run:
 
 command (string)::
        The i3 command that is configured to run for this binding.
-mods (array of strings)::
-       The modifier keys that were configured with this binding.
+event_state_mask (array of strings)::
+       The group and modifier keys that were configured with this binding.
 input_code (integer)::
        If the binding was configured with +bindcode+, this will be the key code
        that was given for the binding. If the binding is a mouse binding, it will be
@@ -789,7 +822,7 @@ input_type (string)::
  "change": "run",
  "binding": {
   "command": "nop",
-  "mods": [
+  "event_state_mask": [
     "shift",
     "ctrl"
   ],
@@ -800,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]]
@@ -811,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::
@@ -826,3 +875,7 @@ Python::
 Ruby::
        * https://github.com/veelenga/i3ipc-ruby
        * https://github.com/badboy/i3-ipc (not maintained)
+Rust::
+       * https://github.com/tmerr/i3ipc-rs
+OCaml::
+       * https://github.com/Armael/ocaml-i3ipc