== SYNOPSIS
-i3-msg [-t type] [message]
+i3-msg [-q] [-v] [-h] [-s socket] [-t type] [message]
+
+== OPTIONS
+
+*-q, --quiet*::
+Only send ipc message and suppress the output of the response.
+
+*-v, --version*::
+Display version number and exit.
+
+*-h, --help*::
+Display a short help-message and exit.
+
+*-s, --socket* 'sock_path'::
+i3-msg will use the environment variable I3SOCK or the socket path
+given here. If both fail, it will try to get the socket information
+from the root window and then try /tmp/i3-ipc.sock before exiting
+with an error.
+
+*-t* 'type'::
+Send ipc message, see below. This option defaults to "command".
+
+*-m*, *--monitor*::
+Instead of exiting right after receiving the first subscribed event,
+wait indefinitely for all of them. Can only be used with "-t subscribe".
+See the "subscribe" IPC message type below for details.
+
+*message*::
+Send ipc message, see below.
== IPC MESSAGE TYPES
get_outputs::
Gets the current outputs. The reply will be a JSON-encoded list of outputs (see
the reply section of docs/ipc, e.g. at
-http://i3wm.org/docs/ipc.html#_receiving_replies_from_i3).
+https://i3wm.org/docs/ipc.html#_receiving_replies_from_i3).
get_tree::
Gets the layout tree. i3 uses a tree as data structure which includes every
Gets the configuration (as JSON map) of the workspace bar with the given ID. If
no ID is provided, an array with all configured bar IDs is returned instead.
+get_binding_modes::
+Gets a list of configured binding modes.
+
get_version::
Gets the version of i3. The reply will be a JSON-encoded dictionary with the
major, minor, patch and human-readable version.
+get_config::
+Gets the currently loaded i3 configuration.
+
+send_tick::
+Sends a tick to all IPC connections which subscribe to tick events.
+
+subscribe::
+The payload of the message describes the events to subscribe to.
+Upon reception, each event will be dumped as a JSON-encoded object.
+See the -m option for continuous monitoring.
+
== DESCRIPTION
i3-msg is a sample implementation for a client using the unix socket IPC
# Dump the layout tree
i3-msg -t get_tree
+
+# Monitor window changes
+i3-msg -t subscribe -m '[ "window" ]'
------------------------------------------------
== ENVIRONMENT
=== I3SOCK
If no ipc-socket is specified on the commandline, this variable is used
-to determine the path, at wich the unix domain socket is expected, on which
+to determine the path, at which the unix domain socket is expected, on which
to connect to i3.
== SEE ALSO