Sway (SirCmpwn's Wayland compositor) is a famous tiling Wayland compositor. It is meant to be the I3 of Wayland. It takes great inspiration from i3 in its design and configuration, and, consequently, it is very compatible with i3.
Owing to its simplistic and productive nature, it is not eye-candy with enthralling visuals and effects. Swayfx is a fork of Sway that adds cool effects, animations, and visuals to it, something you may want to look into.
Notable Features:
According to Sway's official website:
- Sway organizes windows in a structured, logical manner rather than letting users manually place them anywhere.
- Windows are arranged in such a manner as to maximize the efficiency of your screen and can be easily controlled by using the keyboard only. Windows are arranged in a grid like manner.
- Backward compatible with i3 configuration and supports its features, and some extra.
- Extensive documentation in the form of man pages.
Pre-Installation:
- All proprietary graphic drivers are not officially supported, including Nvidia's. Albeit, the open source Nouveau driver can be used instead.
- Not all login managers support Wayland. If you have any issues regarding login managers refer to
man 1 sway.
- If you are planning to migrate from i3, you may want to look at [1]
Installation:
Compiling from source:
Following dependencies are needed, make sure you have them: git, gcc or clang, meson, wlroots, ninja, wayland, wayland-protocols, pcre2, json-c, pango, cairo, gdk-pixbuf2 (optional: additional image formats for system tray), swaybg (optional: for wallpaper), scdoc (optional: man pages), git (optional: version info).
As per official guide:
First make sure wlroots is installed:
- Clone the wlroots repository using git to your desired location.
- Run
meson build
to create the build directory - Now run the following command:
ninja -C build
to build - Finally:
sudo ninja -C build install
to install - To verify check that either
/usr/local/lib
or/usr/local/lib64
includelibwlroots.so
Now to build sway:
- Clone the sway repository with git
- Run
meson build
to create thebuild
directory - Now run the following command:
ninja -C build
to build - Finally:
sudo ninja -C build install
to install - To verify check that
/usr/local/bin
contains thesway
,swaybar
,swaylock
, etc. binaries.
For Arch:
Using pacman:
sudo pacman -S sway
Using paru:
paru -S sway
Using yay:
yay -S sway
For Debian:
Using apt package manager:
apt install sway