Sway (window manager)

Sway is a tiling window manager and Wayland compositor, inspired by i3, and written in C. Sway is designed as a drop-in replacement for i3 using the more modern Wayland display server protocol and wlroots compositor library. Sway works with existing i3 configuration files and supports most of i3's features while providing several new features of its own.

Sway's default controls for manipulating windows are similar to vi. Window focus is controlled by a combination of the Super key and one of the keys h, j, k, or l. Window movement is performed by the same combination of keys with the addition of the shift key.

Like i3, Sway can be extended and manipulated using its Unix domain socket and JSON-based IPC interface from many programming languages.

Sway's first stable release was on March 11, 2019, after 3.6 years of development.

Features
Sway replicates several of i3's features:


 * Configuration is performed via a plain text file.
 * Window tiling is handled manually, rather than dynamically.
 * Windows can be split horizontally or vertically.
 * Windows can be arranged in a tabbed (horizontal listing like that found in web browsers) or stacked (vertical listing) layout.
 * Windows can be floated similar to a floating window manager.
 * Tiled and floated windows can be resized or moved using both the mouse and keyboard.
 * Sway can be completely driven from the keyboard.

Sway also provides several unique features:


 * Supports multiple non-modifier keys when assigning key bindings.
 * Windows on the same workspace can be split into multiple containers, such that one set of windows might be arranged in a tabbed layout while the other windows on the workspace might be tiled normally, floating, or arranged in a stacked layout.
 * Handles input, output, and wallpaper configurations instead of relying on separate programs.
 * Gestures.