След 11 месеца разработка, беше публикувана версия 1.8 на композитния мениджър Sway, построен с използване на протокола Wayland и напълно съвместим с мозаичния прозоречен мениджър i3 и панела i3bar. Кодът на проекта е написан на C и се разпространява под лицензия MIT. Проектът е насочен към използване в Linux и FreeBSD.
Съвместимостта с i3 е осигурена на ниво команди, файлове с конфигурация и IPC, което позволява използването на Sway като прозрачна замяна на i3, използваща Wayland вместо X11. Sway позволява позициониране на прозорците на екрана не пространствено, а логически. Прозорците се разполагат, образувайки мрежа, оптимално използваща екранното пространство и позволяваща бърза манипулация на прозорците само с клавиатура.
За изграждане на полноценна потребителска среда се предлагат придружаващи компоненти: swayidle (бекграунд процес с реализация на протокола KDE idle), swaylock (протектор на екрана), mako (мениджър на известия), grim (създаване на скрийншотове), slurp (обозначаване на област на екрана), wf-recorder (заснемане на видео), waybar (приложен панел), virtboard (екранна клавиатура), wl-clipboard (работа с буфера на обмен), wallutils (управление на настолни тапети).
Sway се развива като модулен проект, построен върху библиотеката wlroots, в която са пренесени всички основни примитиви за организиране на работата на композитния мениджър. Wlroots включва бекенди за абстрахиране на достъпа до екрана, входни устройства, изобразяване без директен достъп до OpenGL, взаимодействие с KMS/DRM, libinput, Wayland и X11 (предоставя се междинен слой за стартиране на X11 приложения на базата на Xwayland). Освен Sway, библиотеката wlroots активно се използва и в други проекти, включително Librem5 и Cage. Освен C/C++, са разработени биндинги за Scheme, Common Lisp, Go, Haskell, OCaml, Python и Rust.

В новото издание:
- Реализирана е нова команда „bindgesture“ за свързване на действия към жестове на тъчпада.
- Процесът на заключване на екрана (swaylock) е пренасочен към използване на Wayland протокола ext-session-lock-v1, което увеличи надеждността и сигурността на заключването на сесията.
- Добавена е нова команда „output unplug“ за премахване на виртуални изходни устройства.
- Добавена е поддръжка за събития за скролиране на мишката с висока резолюция.
- Осигурена е поддръжка за настройката „disable while trackpointing“ в библиотеката libinput за управление на изключването на тъчпада по време на използването на тензометричния джойстик (trackpoint на лаптопи Thinkpad).
- За повишаване на надеждността при определяне на работната област при стартиране на нови клиентски приложения е внедрен протоколът xdg-activation-v1.
- В библиотеката wlroots е подобрена реализацията на системата за рендеринг с помощта на графичния API Vulkan.
- За оптимизиране на процеса на планиране на стартиране на задачи на платформата Linux е реализирана възможността за задаване на права CAP_SYS_NICE.
- Поддръжката на работа с флага SUID root е прекратена.
- Командата „output dpms“ е обявена за остаряла, вместо която сега се използва командата „output power“.
- За работа с регулярни изрази вместо библиотеката pcre сега се използва pcre2.
Източник: opennet.ru
