i3-compatible Wayland compositor
RedSoxFan and emersion swaynag: damage the cursor surface on update
When the cursor surface gets updated, it should be damaged.

This also bumps up `wl_compositor` to version 4 to be able to use
`wl_surface_damage_buffer`.
Latest commit c828417 Dec 15, 2018
Permalink
Type Name Latest commit message Commit time
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 Merge pull request #3271 from ianyfan/list-cleanup Dec 9, 2018
completions document swaymessage type for get_seats Nov 4, 2018
contrib A script to make inactive windows transparent Oct 20, 2018
include swaybar: fix cursor scale Dec 15, 2018
protocols Update for swaywm/wlroots#1243 Sep 14, 2018
security.d delete references to swaygrab Jul 30, 2018
sway Fix focusing on non-visible workspace Dec 14, 2018
swaybar swaybar: fix cursor scale Dec 15, 2018
swaybg Sway clients: Exit gracefully when compositor is unavailable Oct 15, 2018
swayidle list.c: Remove list_foreach Dec 9, 2018
swaylock fix typo Dec 2, 2018
swaymsg swaymsg: parse success of single object Nov 29, 2018
swaynag swaynag: damage the cursor surface on update Dec 15, 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 fix typo in config.in Nov 19, 2018
meson.build meson.build: remove obsolete definition of swayidle_deps Dec 1, 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).