i3-compatible Wayland compositor
RedSoxFan Merge pull request #3128 from RyanDwyer/fix-unmap-crash
Fix double free when unmapping any view
Latest commit 0451acf Nov 15, 2018
Permalink
Failed to load latest commit information.
assets Recompressed PNG files Jan 6, 2017
client Change _XOPEN_SOURCE defines to _POSIX_C_SOURCE Sep 3, 2018
common Wrap to fartherest output when running focus output Oct 31, 2018
completions document swaymessage type for get_seats Nov 4, 2018
contrib A script to make inactive windows transparent Oct 20, 2018
include Use #if instead of #ifdef for WLR_HAS_* Nov 12, 2018
protocols Update for swaywm/wlroots#1243 Sep 14, 2018
security.d delete references to swaygrab Jul 30, 2018
sway Fix double free when unmapping any view Nov 15, 2018
swaybar More frees. Nov 13, 2018
swaybg Sway clients: Exit gracefully when compositor is unavailable Oct 15, 2018
swayidle Revert "Work around swayidle never triggering on SIGUSR1" Nov 5, 2018
swaylock reordered swaylock manpage Oct 27, 2018
swaymsg IPC: Send keyboard layout info in IPC_GET_INPUTS Nov 12, 2018
swaynag More frees. Nov 13, 2018
.build.yml Add scdoc to .build.yml May 12, 2018
.clang-format Update .clang-format - not entirely usable yet Jan 11, 2017
.editorconfig Create .editorconfig Jul 4, 2016
.gitignore Add subprojects to gitignore Mar 28, 2018
CONTRIBUTING.md Update CONTRIBUTING.md Oct 6, 2018
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md Oct 31, 2018
LICENSE MIT license Jan 6, 2017
README.bg.md Advertize dependency on git Oct 23, 2018
README.de.md Advertize dependency on git Oct 23, 2018
README.el.md Advertize dependency on git Oct 23, 2018
README.fr.md Advertize dependency on git Oct 23, 2018
README.it.md Advertize dependency on git Oct 23, 2018
README.ja.md Correction to dependency updates Nov 2, 2018
README.md Correction to dependency updates Nov 2, 2018
README.pt.md Advertize dependency on git Oct 23, 2018
README.ru.md Advertize dependency on git Oct 23, 2018
README.uk.md Advertize dependency on git Oct 23, 2018
config.in Add example status_command to default config Oct 8, 2018
meson.build Use #if instead of #ifdef for WLR_HAS_* Nov 12, 2018
meson_options.txt Add support for installing binaries with DT_RPATH Sep 30, 2018
sway.desktop Add Wayland and Xorg session files Aug 20, 2015

README.md

sway

English - 日本語 - Deutsch - Ελληνικά - Français - Українська - Italiano - Português - Русский - Български

"SirCmpwn's Wayland compositor" is a work in progress i3-compatible Wayland compositor. Read the FAQ. Join the IRC channel (#sway on irc.freenode.net).

If you'd like to support sway development, please contribute to SirCmpwn's Patreon page.

Release Signatures

Releases are signed with B22DA89A and published on GitHub.

Installation

From Packages

Sway is available in many distributions. Try installing the "sway" package for yours. If it's not available, check out this wiki page for information on installation for your distributions.

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

Install dependencies:

  • meson *
  • wlroots
  • wayland
  • wayland-protocols *
  • pcre
  • json-c
  • pango
  • cairo
  • gdk-pixbuf2 **
  • pam (optional: PAM support for swaylock)
  • scdoc (optional: man pages) *
  • git *

*Compile-time dep

**optional: required for swaybg and swaylock

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).