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]
| Sway | |
|---|---|
| Original author | Drew DeVault (SirCmpwn) |
| Release | March 24, 2016[1] |
| Stable release | |
| Written in | C |
| Operating system | Unix-like |
| Size | 5.33 MiB |
| Type | Window manager |
| License | MIT License |
| Website | swaywm |
| Repository | |
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 11 March 2019, after 3.6 years of development.[7]
Features
editSway 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
edit- ↑ Devault, Drew (25 March 2016). "Sway 0.1". Sway. Retrieved 9 August 2019.
- ↑ "1.12". 25 May 2026. Retrieved 25 May 2026.
- ↑ Devault, Drew (20 December 2015). "State of Sway - December 2015". Drew DeVault’s Blog. Archived from the original on 24 April 2019. Retrieved 9 August 2019.
- ↑ Larabel, Michael (28 December 2017). "Wlroots Is A New, Modular Wayland Compositor Library". www.phoronix.com. Retrieved 9 August 2019.
- ↑ Larabel, Michael (18 August 2025). "An i3-Compatible Tiling Window Manager For Wayland". www.phoronix.com. Retrieved 9 August 2019.
- 1 2 Untitled Linux Show (10 October 2018). Sway - FLOSS Weekly 501. Retrieved 9 August 2019 – via YouTube.
- ↑ Devault, Drew (11 March 2019). "Announcing the release of sway 1.0". Drew DeVault’s Blog. Retrieved 9 August 2019.
- ↑ "sway/config.in at master · swaywm/sway". GitHub. Retrieved 4 January 2025.
- ↑ "Sway - A Tiling Wayland i3-Compatible Compositor". FOSSMint: Everything About Linux and FOSS. 20 March 2019. Retrieved 9 August 2019.
- ↑ "Sway: A Tiling Window Manager Specially Crafted for Wayland". itsfoss.com. 27 March 2019. Retrieved 9 August 2019.
- ↑ Differences from i3, Sway, 9 August 2019, retrieved 9 August 2019