sway(1) General Commands Manual sway(1)

sway - An i3-compatible Wayland compositor

sway [options...] [command]

-h, --help

Show help message and quit.

-c, --config <config>

Specifies a config file.

-C, --validate

Check the validity of the config file, then exit.

-d, --debug

Enables full logging, including debug information.

-v, --version

Show the version number and quit.

-V, --verbose

Enables more verbose logging.


Gets the IPC socket path and prints it, then exits.

sway was created to fill the need of an i3-like window manager for Wayland. The upstream i3 developers have no intention of porting i3 to Wayland, and projects proposed by others ended up as vaporware. Many thanks to the i3 folks for providing such a great piece of software, so good that your users would rather write an entirely new window manager from scratch that behaved exactly like i3 rather than switch to something else.

You can run sway directly from a tty, or via a Wayland-compatible login manager.

sway searches for a config file in the following locations, in this order:

$XDG_CONFIG_HOME/sway/config (suggested location)

If unset, $XDG_CONFIG_HOME defaults to ~/.config.

An error is raised when no config file is found. The recommended default configuration is usually installed to /etc/sway/config; you are encouraged to copy this to ~/.config/sway/config and edit it from there.

For information on the config file format, see sway(5).

Though swaymsg(1) is generally preferred, you may run sway command to send command to the running instance of sway. You can also issue commands with i3-msg(1) or even with i3(1).

The following environment variables have an effect on sway:


Specifies the path to the sway IPC socket.


Configures the xkb keyboard settings. See xkeyboard-config(7). The preferred way to configure the keyboard is via the configuration file, see sway-input(5).

The following environment variables are set by sway:


If compiled with Xwayland support and Xwayland is not disabled by the config, this will be set to the name of the X display used for Xwayland.


For compatibility with i3, specifies the path to the sway IPC socket.


Specifies the path to the sway IPC socket.


Specifies the name of the Wayland display that sway is running on.


Specifies the configured cursor size.


Specifies the configured cursor theme.

Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other open source contributors. For more information about sway development, see https://github.com/swaywm/sway.

sway(5) swaymsg(1) sway-input(5) sway-output(5) sway-bar(5) sway-ipc(7)