d1eab10266
Repaint scheduling delays output render and frame done events from output frame events, and block idle frame events from being scheduled in between output frame done and output render in this period of time. If a surface is committed after its frame done event, but before output render, idle frame requests will be blocked, and the surface relies on the upcoming render to schedule a frame. If when the repaint timer expires, output render is deemed unnecessary, no frame will be scheduled. This can lead to surfaces never having their frame callbacks fire. To fix this, we store that a surface has requested a frame in surface_needs_frame. When the repaint expires, if no render is deemed necessary, we check this flag and schedule an idle frame. Fixes #4768 |
||
---|---|---|
.builds | ||
.github | ||
assets | ||
client | ||
common | ||
completions | ||
contrib | ||
include | ||
protocols | ||
security.d | ||
sway | ||
swaybar | ||
swaymsg | ||
swaynag | ||
.clang-format | ||
.editorconfig | ||
.gitignore | ||
config.in | ||
CONTRIBUTING.md | ||
ISSUE_TEMPLATE.md | ||
LICENSE | ||
meson.build | ||
meson_options.txt | ||
README.de.md | ||
README.es.md | ||
README.fr.md | ||
README.ja.md | ||
README.md | ||
README.nl.md | ||
README.pl.md | ||
README.ru.md | ||
README.uk.md | ||
README.zh-CN.md | ||
sway.desktop |
sway
English - 日本語 - Français - Українська - Español - Polski - 中文-简体 - Deutsch - Nederlands - Русский
sway is an 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 (optional: system tray)
- scdoc (optional: man pages) *
- git *
*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).