Sway (window manager)

Wikipedia

Sway
Original authorDrew DeVault (SirCmpwn)
Initial releaseMarch 24, 2016; 9 years ago (2016-03-24)[1]
Stable release
1.11 / June 8, 2025; 4 months ago (2025-06-08)[2]
Repository
Written inC
Operating systemUnix-like
Size5.33 MiB
TypeWindow manager
LicenseMIT License
Websiteswaywm.org

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 $mod modifier 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 $mod and 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

  1. Sway Initial Release, Sway, 2019-08-09, retrieved 2019-08-09
  2. Sway Latest Release, Sway, 2025-06-08, retrieved 2025-06-27
  3. "State of Sway - December 2015". Drew DeVault’s Blog. 2015-12-20. Archived from the original on 2019-04-24. Retrieved 2019-08-09.
  4. "Wlroots Is A New, Modular Wayland Compositor Library - Phoronix". www.phoronix.com. Retrieved 2019-08-09.
  5. "Linux Hardware Reviews, Open-Source Benchmarks & Linux Performance - Phoronix". www.phoronix.com. Retrieved 2019-08-09.
  6. 1 2 Sway - FLOSS Weekly 501, 10 October 2018, retrieved 2019-08-09
  7. "Announcing the release of sway 1.0". Drew DeVault’s Blog. 2019-03-11. Retrieved 2019-08-09.
  8. "sway/config.in at master · swaywm/sway". GitHub. Retrieved 2025-01-04.
  9. "Sway - A Tiling Wayland i3-Compatible Compositor". FOSSMint: Everything About Linux and FOSS. 2019-03-20. Retrieved 2019-08-09.
  10. "Sway: A Tiling Window Manager Specially Crafted for Wayland". itsfoss.com. 27 March 2019. Retrieved 2019-08-09.
  11. Differences from i3, Sway, 2019-08-09, retrieved 2019-08-09