i3-compatible Wayland compositor
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Alexander Courtis 2c0f68b7c6
Apply new adaptive sync value from wlr-output-management
5 days ago
.builds ci: install Xwayland .pc file 2 months ago
.github/ISSUE_TEMPLATE github: don't truncate debug logs 1 year ago
assets License wallpapers as CC-0 3 years ago
client Use shm_open instead of mkstemp 2 months ago
common Reuse parsed PangoFontDescription 7 months ago
completions build: move completions to separate file 2 months ago
contrib grimshot: fix tilde expansion within quotes 6 months ago
include input/tablet: handle focusing NULL surface 2 weeks ago
protocols build: drop intermediate libraries for protocols 2 months ago
sway Apply new adaptive sync value from wlr-output-management 5 days ago
swaybar Use correct length for strncmp comparison 4 weeks ago
swaymsg swaymsg: show mode picture aspect ratio 4 months ago
swaynag swaynag: call swaynag_destroy on clean exit 2 weeks ago
.editorconfig Create .editorconfig 7 years ago
.gitignore Allocate minimum size necessary in pango text functions. (#3473) 4 years ago
CONTRIBUTING.md Fix IRC links in READMEs and templates 2 years ago
LICENSE MIT license 6 years ago
README.cs.md Fix typo in Czech README translation 2 months ago
README.de.md Replace pcre with pcre2 11 months ago
README.dk.md Replace pcre with pcre2 11 months ago
README.es.md Replace pcre with pcre2 11 months ago
README.fr.md Replace pcre with pcre2 11 months ago
README.gr.md Replace pcre with pcre2 11 months ago
README.hi.md Add a Hindi (हिन्दी) translation to the README 8 months ago
README.hu.md Replace pcre with pcre2 11 months ago
README.ir.md Replace pcre with pcre2 11 months ago
README.it.md Translated README into Italian 12 months ago
README.ja.md Improve Japanese translation 4 months ago
README.ko.md Replace pcre with pcre2 11 months ago
README.md Translate README to Czech 2 months ago
README.nl.md Replace pcre with pcre2 11 months ago
README.pl.md Replace pcre with pcre2 11 months ago
README.pt.md Replace pcre with pcre2 11 months ago
README.ro.md Replace pcre with pcre2 11 months ago
README.ru.md Replace pcre with pcre2 11 months ago
README.sv.md Add Swedish README 9 months ago
README.tr.md Replace pcre with pcre2 11 months ago
README.uk.md Replace pcre with pcre2 11 months ago
README.zh-CN.md Polish the language in README.zh-CN.md & sync with English one 8 months ago
README.zh-TW.md Replace pcre with pcre2 11 months ago
config.in config.in: switch to `output power` 7 months ago
meson.build input: enable user xkb configs with cap_sys_nice 2 weeks ago
meson_options.txt Add meson options to enable/disable swaybar and swaynag 2 years ago
sway.desktop Update language in sway.desktop & sway(1) 4 years ago

README.md

sway

English - Česky - Deutsch - Dansk - Español - Français - Svenska - Ελληνικά - हिन्दी - Magyar - فارسی - Italiano - 日本語 - 한국어 - Nederlands - Polski - Português - Română - Русский - Türkçe - Українська - 中文-简体 - 中文-繁體

sway is an i3-compatible Wayland compositor. Read the FAQ. Join the IRC channel (#sway on irc.libera.chat).

Release Signatures

Releases are signed with E88F5E48 and published on GitHub.

Installation

From Packages

Sway is available in many distributions. Try installing the "sway" package for yours.

Compiling from Source

Check out this wiki page if you want to build the HEAD of sway and wlroots for testing or development.

Install dependencies:

  • meson *
  • wlroots
  • wayland
  • wayland-protocols *
  • pcre2
  • json-c
  • pango
  • cairo
  • gdk-pixbuf2 (optional: system tray)
  • scdoc (optional: man pages) *
  • git (optional: version info) *

* Compile-time dep

Run these commands:

meson build/
ninja -C build/
sudo ninja -C build/ install

On systems without logind nor seatd, you need to suid the sway binary:

sudo chmod a+s /usr/local/bin/sway

Sway will drop root permissions shortly after startup.

Configuration

If you already use i3, then copy your i3 config to ~/.config/sway/config and it'll work out of the box. Otherwise, copy the sample configuration file to ~/.config/sway/config. It is usually located at /etc/sway/config. Run man 5 sway for information on the configuration.

Running

Run sway from a TTY. Some display managers may work but are not supported by sway (gdm is known to work fairly well).