2024f1da72
For example, create layout V[view view view] and resize the leftmost view using mod+rightclick. Previously, the edge between view 2 and 3 would be adjusted as well. Now this edge will remain constant, which matches the behaviour of i3. To do this operation correctly, the resize tiling seatop now keeps track of two containers, as the container that resizes horizontally will be a different container to the one which resizes vertically (one will be an ancestor). The tiling resize seatop now figures out these containers during the start of the operation and keeps references to them in the event. A new function container_find_resize_parent has been introduced to do this. This function is also used by the resize command. During cursor motion, the seatop logic is similar to before, but now has to choose the correct container to resize. In resize.c, container_resize_tiled and resize_tiled have been merged into one. One of them originally did nothing except pass the values through to the other. container_resize_tiled now takes a simplified approach where it just finds the immediate siblings on either side and resizes them without worrying about the others. The parellel_coord and parallel_size functions are no longer needed and have been removed. |
||
---|---|---|
assets | ||
client | ||
common | ||
completions | ||
contrib | ||
include | ||
protocols | ||
security.d | ||
sway | ||
swaybar | ||
swaybg | ||
swaymsg | ||
swaynag | ||
.build.yml | ||
.clang-format | ||
.editorconfig | ||
.gitignore | ||
config.in | ||
CONTRIBUTING.md | ||
ISSUE_TEMPLATE.md | ||
LICENSE | ||
meson.build | ||
meson_options.txt | ||
README.bg.md | ||
README.de.md | ||
README.el.md | ||
README.fr.md | ||
README.it.md | ||
README.ja.md | ||
README.md | ||
README.pt.md | ||
README.ru.md | ||
README.uk.md | ||
sway.desktop |
sway
English - 日本語 - Deutsch - Ελληνικά - Français - Українська - Italiano - Português - Русский - Български
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 **
- scdoc (optional: man pages) *
- git *
*Compile-time dep
**optional: required for swaybg
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).