If far too many containers are created, they can become so small that their size calculations come out negative, leading to crashes on asserts. Instead, set a lower bound for sizes and disable the container entirely if it goes below it, giving whatever space it used to the last container. The splits are not recalculated, so currently the effect is that if all containers have the same width fraction, they keep getting narrower until at some point they all round to zero and the last container will be given all the available space. A better behavior would have been if the additional container did not contribute to size and fraction calculations at all, but it's an extreme edge-case, anything is better than crashing, and this is easier to implement. |
||
---|---|---|
.builds | ||
.github/ISSUE_TEMPLATE | ||
assets | ||
client | ||
common | ||
completions | ||
include | ||
protocols | ||
sway | ||
swaybar | ||
swaymsg | ||
swaynag | ||
.editorconfig | ||
.gitignore | ||
.mailmap | ||
config.in | ||
CONTRIBUTING.md | ||
LICENSE | ||
meson.build | ||
meson_options.txt | ||
README.ar.md | ||
README.cs.md | ||
README.de.md | ||
README.dk.md | ||
README.es.md | ||
README.fr.md | ||
README.ge.md | ||
README.gr.md | ||
README.hi.md | ||
README.hu.md | ||
README.ir.md | ||
README.it.md | ||
README.ja.md | ||
README.ko.md | ||
README.md | ||
README.nl.md | ||
README.no.md | ||
README.pl.md | ||
README.pt.md | ||
README.ro.md | ||
README.ru.md | ||
README.sv.md | ||
README.tr.md | ||
README.uk.md | ||
README.zh-CN.md | ||
README.zh-TW.md | ||
release.sh | ||
sway.desktop |
sway
English - عربي - Česky - Deutsch - Dansk - Español - Français - ქართული - Ελληνικά - हिन्दी - Magyar - فارسی - Italiano - 日本語 - 한국어 - Nederlands - Norsk - Polski - Português - Română - Русский - Svenska - 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: additional image formats for system tray)
- swaybg (optional: wallpaper)
- scdoc (optional: man pages) *
- git (optional: version info) *
* Compile-time dep
Run these commands:
meson build/
ninja -C build/
sudo ninja -C build/ install
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).