| Sway | |
|---|---|
| Original author | Drew DeVault (SirCmpwn) |
| Initial release | March 24, 2016[1] |
| Stable release | 1.11
/ June 8, 2025[2] |
| Repository | |
| Written in | C |
| Operating system | Unix-like |
| Size | 5.33 MiB |
| Type | Window manager |
| License | MIT License |
| Website | swaywm |
Sway is a tiling window manager and Wayland compositor, inspired by i3, and written in C.[3] Sway is designed as a drop-in replacement for i3 using the Wayland display server protocol and wlroots compositor library.[4] Sway works with existing i3 configuration files and supports most of i3's features while providing several new features of its own.[5]
Like i3, Sway can be extended and manipulated using its Unix domain socket and JSON-based IPC interface from many programming languages.[6]
Sway's first stable release was on March 11, 2019, after 3.6 years of development.[7]
Features
Sway replicates several of i3's features:
- Configuration is performed via a plain text file.[6]
- Window tiling is handled manually, rather than dynamically.
- Controls are the same as i3, with a
$modmodifier key (Super or Alt by default) 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.[8]
- Windows can be split horizontally or vertically.
- Windows can be arranged in a tabbed (horizontal) or stacked (vertical) 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.[9]
- Sway can be completely driven from the keyboard.[10]
Sway also provides several unique features:
- Supports multiple non-modifier keys when assigning key bindings.[11]
- 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.
References
- ↑ Sway Initial Release, Sway, 2019-08-09, retrieved 2019-08-09
- ↑ Sway Latest Release, Sway, 2025-06-08, retrieved 2025-06-27
- ↑ "State of Sway - December 2015". Drew DeVault’s Blog. 2015-12-20. Archived from the original on 2019-04-24. Retrieved 2019-08-09.
- ↑ "Wlroots Is A New, Modular Wayland Compositor Library - Phoronix". www.phoronix.com. Retrieved 2019-08-09.
- ↑ "Linux Hardware Reviews, Open-Source Benchmarks & Linux Performance - Phoronix". www.phoronix.com. Retrieved 2019-08-09.
- 1 2 Sway - FLOSS Weekly 501, 10 October 2018, retrieved 2019-08-09
- ↑ "Announcing the release of sway 1.0". Drew DeVault’s Blog. 2019-03-11. Retrieved 2019-08-09.
- ↑ "sway/config.in at master · swaywm/sway". GitHub. Retrieved 2025-01-04.
- ↑ "Sway - A Tiling Wayland i3-Compatible Compositor". FOSSMint: Everything About Linux and FOSS. 2019-03-20. Retrieved 2019-08-09.
- ↑ "Sway: A Tiling Window Manager Specially Crafted for Wayland". itsfoss.com. 27 March 2019. Retrieved 2019-08-09.
- ↑ Differences from i3, Sway, 2019-08-09, retrieved 2019-08-09