The launch of the new version of the composite manager Sway 1.6 which contains 231 changes from 69 contributors and contains a variety of new features, as well as many bug fixes.
For those who do not know about Sway, they should know what it is a composer with i3 compatibility which is provided at the command, configuration file and IPC level, allowing you to use Sway as a transparent replacement for i3, using Wayland instead of X11.
Sway allows you to place windows on the screen not spatially, but logically. The windows are arranged to form a grid that optimally utilizes screen space and allows you to quickly manipulate the windows with just the keyboard.
The following components are provided to organize a complete user environment: swayidle, swaylock, slurp, wf-recorder, waybar, virtboard, wl-clipboard, wallutils.
Sway it is being developed as a modular project built on top of the library
wlroots, which contains all the basic primitives for organizing the work of the composite manager.
Wlroots includes backends to abstract access to the screen, input devices, render without directly accessing OpenGL, interact with
KMS/DRM, libinput, Wayland y X11 (A layer is provided to launch Xwayland-based X11 applications.)
Besides Sway, the library
wlroots it is also actively used in other projects, including Librem5 and Cage. In addition to C, C ++, folders have been developed to Scheme, Common Lisp, Go, Haskell, OCaml, Python, and Rust. The project code is written in C and distributed under the MIT license. The project is designed for use on Linux and FreeBSD.
Main new features of Sway 1.6
In this new version the recommended wlroots version to use with this version is 0.13.0 which improves keyboard interactivity and also includes screen transformation and scaling improvements.
As for the improvements made to Sway, we can find that the ability to use “the Input Method Editor (IME)” was implemented as part of user interface elements such as panels and lock screen.
Also it is noted that the smoothness was improved of interactive operations to move and resize windows.
Another change implemented was in the compilation of the autonomous packages Flatpak and Snap in which the xdg-Foreign protocol is now used to improve system integration.
Of the other changes that stand out:
- Compatibility with the i3 window manager has been improved in the area of commands that change the layout of the windows on the screen.
- Added an option to hide the cursor while typing.
- The cube implementation is designed to work on systems without systemd or elogind.
- Improved clipboard reliability for X11 applications.
How to get Sway?
For those interested in being able to test Sway on their systems, They should take into account that the main requirement to be able to use it is to have Wayland under the hood of your system.
It is important to mention that Sway will not work with proprietary graphics drivers, you will have to uninstall these and use the free drivers instead.
To install Sway on Ubuntu, as well as derivatives of it, they should add the following repository on their system.
For it let’s open a terminal (they can use the shortcut keys Ctrl + Alt + T) and in it they will type the following command:
sudo add-apt-repository ppa:samoilov-lex/sway
And we proceed to perform the installation with:
sudo apt install sway
While for those who prefer to compile, they must obtain the source code by typing the following:
git clone https://github.com/swaywm/sway.git
Run these commands:
meson build/ ninja -C build/ sudo ninja -C build/ install
On systems without logind, you need to suid the balancing binary:
sudo chmod a+s /usr/local/bin/sway
Sway will remove root permissions shortly after startup.
Finally, I must mention that at the time of writing the article the Sway package in the repository has not been updated to the new version, but it is a matter of hours before it is available.