I3-MSG(1) i3 Manual I3-MSG(1) NAME i3-msg - send messages to i3 window manager SYNOPSIS i3-msg [-q] [-v] [-h] [-s socket] [-t type] [-r] [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. -r, --raw Display the raw JSON reply instead of pretty-printing errors (for commands) or displaying the top-level config file contents (for GET_CONFIG). message Send ipc message, see below. IPC MESSAGE TYPES command The payload of the message is a command for i3 (like the commands you can bind to keys in the configuration file) and will be executed directly after receiving it. get_workspaces Gets the current workspaces. The reply will be a JSON-encoded list of workspaces. 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 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 container. The reply will be the JSON-encoded tree. get_marks Gets a list of marks (identifiers for containers to easily jump to them later). The reply will be a JSON-encoded list of window marks. get_bar_config 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 interface to i3. Exit status: 0: if OK, 1: if invalid syntax or unable to connect to ipc-socket 2: if i3 returned an error processing your command(s) EXAMPLES # Use 1-px border for current client i3-msg "border 1pixel" # You can leave out the quotes i3-msg border normal # 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 which the unix domain socket is expected, on which to connect to i3. SEE ALSO i3(1) AUTHOR Michael Stapelberg and contributors i3 4.23 05/01/2024 I3-MSG(1)