Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.



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 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 /usr/local/bin contains the sway, 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