After almost a year of development, the composite manager Sway 1.12 has been published. Sway is built using the Wayland protocol and is compatible with the mosaic window manager i3 and the i3bar panel. The project code is written in C and distributed under the MIT license. It is aimed at use on Linux and FreeBSD.
Sway allows users to place windows on the screen logically, as opposed to spatially. Windows are organized in a grid format that optimizes screen space usage and allows for quick manipulation of windows using just the keyboard. Compatibility with i3 is maintained at the level of commands, configuration files, and IPC, enabling users to seamlessly switch to Sway as a replacement for i3, but with Wayland instead of X11.
To create a complete user environment, Sway offers accompanying components such as swayidle (a background process with standby mode implementation), swaylock (screen saver), mako (notification manager), grim (screenshot creation), slurp (screen area selection), wf-recorder (video capture), waybar (application bar), virtboard (on-screen keyboard), wl-clipboard (clipboard management), and wallutils (desktop wallpaper management).
Sway is developed as a modular project built on top of the wlroots library, which provides basic primitives for the composite manager’s operation. Wlroots includes backends for screen access abstraction, input devices, rendering without direct OpenGL access, interaction with KMS/DRM, libinput, Wayland, and X11. Additionally, a layer for running X11 applications based on Xwayland is included. The wlroots library is actively used in other projects and provides support for various programming languages such as C/C++, Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python, and Rust.
In the latest release of Sway 1.12:
- Added the ability to capture individual windows.
- Implemented support for output in the extended dynamic range of brightness HDR10 when using rendering based on the Vulkan API.
- Added support for Wayland protocols:
- color-management-v1 for color management and support for the extended dynamic range of brightness (HDR, High Dynamic Range).