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.
 
 
 
 
Michael Weiser 730efbc89c Prevent use-after-free on first bar subcommand error 2 days ago
.builds Prevent use-after-free on first bar subcommand error 2 days ago
.github/ISSUE_TEMPLATE Remove advice about Firefox from issue template 3 weeks ago
assets License wallpapers as CC-0 1 year ago
client Rename symbol set_cloexec to sway_set_cloexec, remove duplicates. 1 year ago
common common/log: write log importance 4 months ago
completions i3-compat: add GET_BINDING_STATE IPC command 10 months ago
contrib refactor icon_for_window function 2 weeks ago
include idle_inhibit: Store wlr inhibitor instead of view 1 month ago
protocols protocols: update layer-shell-unstable-v1 to v4 3 months ago
sway Prevent use-after-free on first bar subcommand error 2 days ago
swaybar swaybar: fail gracefully on tokener creation fail 4 weeks ago
swaymsg Make command line option lists const 3 months ago
swaynag swaynag: Use position from wl_pointer.enter 2 months ago
.clang-format Update .clang-format - not entirely usable yet 4 years ago
.editorconfig Create .editorconfig 5 years ago
.gitignore Allocate minimum size necessary in pango text functions. (#3473) 2 years ago
CONTRIBUTING.md CONTRIBUTING.md: Add note on sway's scope 4 months ago
LICENSE MIT license 4 years ago
README.de.md Remove Patreon links from README.*.md 4 months ago
README.dk.md Fix typo in README.dk.md 2 months ago
README.es.md Remove Patreon links from README.*.md 4 months ago
README.fr.md readme: update French translation 2 months ago
README.hu.md Add Hungarian translation for the README 2 weeks ago
README.ja.md Remove Patreon links from README.*.md 4 months ago
README.ko.md Remove Patreon links from README.*.md 4 months ago
README.md Add Hungarian translation for the README 2 weeks ago
README.nl.md Remove Patreon links from README.*.md 4 months ago
README.pl.md Remove Patreon links from README.*.md 4 months ago
README.pt.md Remove Patreon links from README.*.md 4 months ago
README.ro.md Remove Patreon links from README.*.md 4 months ago
README.ru.md Update Russian translation 2 months ago
README.uk.md Remove Patreon links from README.*.md 4 months ago
README.zh-CN.md Remove Patreon links from README.*.md 4 months ago
README.zh-TW.md Remove Patreon links from README.*.md 4 months ago
config.in rephrase swayidle-timout example to improve readability 9 months ago
meson.build meson: libseat is no longer optional 6 days ago
meson_options.txt build: add basu as sd-bus provider 4 months ago
sway.desktop Update language in sway.desktop & sway(1) 2 years ago

README.md

sway

English - 日本語 - Français - Українська - Español - Polski - 中文-简体 - Deutsch - Nederlands - Русский - 中文-繁體 - Português - Danish - 한국어 - Română - Magyar

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

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.

If you're interested in packaging sway for your distribution, stop by the IRC channel or shoot an email to sir@cmpwn.com for advice.

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 *
  • pcre
  • 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, 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).