swaymsg - Send messages to a running instance of sway over the IPC socket.
swaymsg [options...] [message]
Show help message and quit.
Monitor for responses until killed instead of exiting
after the first response. This can only be used with the IPC message type
subscribe. If there is a malformed response or an invalid event type
was requested, swaymsg will stop monitoring and exit.
Use pretty output even when not using a tty.
Sends the IPC message but does not print the response
Use raw output even if using a tty.
-s, --socket <path>
Use the specified socket path. Otherwise, swaymsg will
ask sway where the socket is (which is the value of $SWAYSOCK, then of
-t, --type <type>
Specify the type of IPC message. See below.
Print the version (of swaymsg) and quit.
IPC MESSAGE TYPES¶
The message is a sway command (the same commands you can
bind to keybindings in your sway config file). It will be executed
See sway(5) for a list of commands.
•Command expansion is performed twice: once by
swaymsg, and again by sway. If you have quoted multi-word strings in your
command, enclose the entire command in single-quotes. For example, use
swaymsg 'output "Foobar Display" enable' instead of
swaymsg output "Foobar Display" enable. Furthermore, note
that comma separated options also count as multi-word strings, because commas
can be used to execute commands on the same line.
•If you are providing a command that contains a
leading hyphen (-
), insert two hyphens (--
) before the command
to signal to swaymsg not to parse anything beyond that point as an option. For
example, use swaymsg -- mark --add test
instead of swaymsg mark
Gets a JSON-encoded list of workspaces and their
Gets a JSON-encoded list of current inputs.
Gets a JSON-encoded list of current outputs.
Gets a JSON-encoded layout tree of all open windows,
containers, outputs, workspaces, and so on.
Gets a JSON-encoded list of all seats, its properties and
all assigned devices.
Get a JSON-encoded list of marks.
Get a JSON-encoded configuration for swaybar.
Get JSON-encoded version information for the running
instance of sway.
Gets a JSON-encoded list of currently configured binding
Gets JSON-encoded info about the current binding
Gets a JSON-encoded copy of the current
Sends a tick event to all subscribed clients.
Subscribe to a list of event types. The argument for this
type should be provided in the form of a valid JSON array. If any of the types
are invalid or if a valid JSON array is not provided, this will result in a
swaymsg errors such as invalid syntax, unable to connect
to the ipc socket or unable to parse sway's reply
Sway returned an error when processing the command (ex.
invalid command, command failed, and invalid subscription request)