Sway is a tiling window manager and Wayland compositor, inspired by i3, and written in C.[2] Sway is designed as a drop-in replacement for i3 using the more modern Wayland display server protocol and wlroots compositor library.[3] Sway works with existing i3 configuration files and supports most of i3's features while providing several new features of its own.[4]

Sway
Original author(s)Drew DeVault (SirCmpwn)
Initial releaseMarch 24, 2016; 8 years ago (2016-03-24)[1]
Stable release
1.10 / October 27, 2024; 2 months ago (2024-10-27)
Repository
Written inC
Operating systemUnix-like
Size5.3 MiB
TypeWindow manager
LicenseMIT License
Websiteswaywm.org

Sway's default controls for manipulating windows are similar to vi. Window focus is controlled by a combination of the Super key and one of the arrow keys or h, j, k, and l. Window movement is performed by the same combination of keys with the addition of the shift key.

Like i3, Sway can be extended and manipulated using its Unix domain socket and JSON-based IPC interface from many programming languages.[5]

Sway's first stable release was on March 11, 2019, after 3.6 years of development.[6]

Features

edit

Sway replicates several of i3's features:

  • Configuration is performed via a plain text file.[5]
  • Window tiling is handled manually, rather than dynamically.
  • Windows can be split horizontally or vertically.
  • Windows can be arranged in a tabbed (horizontal listing like that found in web browsers) or stacked (vertical listing) 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.[7]
  • Sway can be completely driven from the keyboard.[8]

Sway also provides several unique features:

  • Supports multiple non-modifier keys when assigning key bindings.[9]
  • 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. ^ Sway Initial Release, Sway, 2019-08-09, retrieved 2019-08-09
  2. ^ "State of Sway - December 2015". Drew DeVault’s Blog. 2015-12-20. Archived from the original on 2019-04-24. Retrieved 2019-08-09.
  3. ^ "Wlroots Is A New, Modular Wayland Compositor Library - Phoronix". www.phoronix.com. Retrieved 2019-08-09.
  4. ^ "Linux Hardware Reviews, Open-Source Benchmarks & Linux Performance - Phoronix". www.phoronix.com. Retrieved 2019-08-09.
  5. ^ a b Sway - FLOSS Weekly 501, 10 October 2018, retrieved 2019-08-09
  6. ^ "Announcing the release of sway 1.0". Drew DeVault’s Blog. 2019-03-11. Retrieved 2019-08-09.
  7. ^ "Sway - A Tiling Wayland i3-Compatible Compositor". FOSSMint: Everything About Linux and FOSS. 2019-03-20. Retrieved 2019-08-09.
  8. ^ "Sway: A Tiling Window Manager Specially Crafted for Wayland". itsfoss.com. 27 March 2019. Retrieved 2019-08-09.
  9. ^ Differences from i3, Sway, 2019-08-09, retrieved 2019-08-09
edit