The current logic created a new output_config for each output according to config_head posted by an output managing client. These configurations would then be attempted applied, and if successful, be stored as active configuration. However, some of the state tested depend on fields not set by the output manager. If 'output * power off' is in effect, and an output manager enables a config_head, then the expected result is that power off is respected and outputs remain off, but becuase only the config_head configuration is considered, the output is powered on. The configuration when stored is then no longer consistent with the current state. Instead of trying to handle merging configurations and appropriate precedence within the output manager, simply store the configuration temporarily and apply all output configurations. If the result is successful, we remove the temporary configuration and add it permanently. |
||
|---|---|---|
| .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).