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 authorDrew DeVault (SirCmpwn)
ReleaseMarch 24, 2016; 10 years ago (2016-03-24)[1]
Stable release
1.12[2] Edit this on Wikidata / 25 May 2026; 23 days ago (25 May 2026)
Written inC
Operating systemUnix-like
Size5.33 MiB
TypeWindow manager
LicenseMIT License
Websiteswaywm.org
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

edit

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

edit
  1. Devault, Drew (25 March 2016). "Sway 0.1". Sway. Retrieved 9 August 2019.
  2. "1.12". 25 May 2026. Retrieved 25 May 2026.
  3. 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.
  4. Larabel, Michael (28 December 2017). "Wlroots Is A New, Modular Wayland Compositor Library". www.phoronix.com. Retrieved 9 August 2019.
  5. Larabel, Michael (18 August 2025). "An i3-Compatible Tiling Window Manager For Wayland". www.phoronix.com. Retrieved 9 August 2019.
  6. 1 2 Untitled Linux Show (10 October 2018). Sway - FLOSS Weekly 501. Retrieved 9 August 2019 via YouTube.
  7. Devault, Drew (11 March 2019). "Announcing the release of sway 1.0". Drew DeVault’s Blog. Retrieved 9 August 2019.
  8. "sway/config.in at master · swaywm/sway". GitHub. Retrieved 4 January 2025.
  9. "Sway - A Tiling Wayland i3-Compatible Compositor". FOSSMint: Everything About Linux and FOSS. 20 March 2019. Retrieved 9 August 2019.
  10. "Sway: A Tiling Window Manager Specially Crafted for Wayland". itsfoss.com. 27 March 2019. Retrieved 9 August 2019.
  11. Differences from i3, Sway, 9 August 2019, retrieved 9 August 2019
edit