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 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.
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.
- Controls are the same as i3, with a
$modmodifier key pressed with an arrow key to change focus to a window. Window movement is performed with the same combination of$modand an arrow key, but with the Shift key pressed as well. - Supports vi controls for window manipulation with the h, j, k, and l keys.
- Windows can be split horizontally or vertically.
- Windows can be arranged in a tabbed or stacked list 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.
- 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.
- Has its own ecosystem of utilities such as swaybg, swaybar, and swayidle.
- Gestures.