25 мая 2026 года состоялся релиз открытого проекта пользовательского окружения Sway 1.12. Этот композитный менеджер построен с использованием протокола Wayland и полностью совместим с мозаичным оконным менеджером i3 и панелью i3bar. Исходный код проекта написан на языке C и опубликован на GitHub под лицензией MIT. В конце октября 2024 года вышел Sway 1.10. Версию Sway 1.11 представили в июне 2025 года.

Проект Sway нацелен на использование в Linux и FreeBSD. Этот инструментарий позволяет размещать окна на экране не пространственно, а логически. Их можно располагать, образуя сетку, оптимально использующую экранное пространство и позволяющую быстро манипулировать окнами только при помощи клавиатуры. Совместимость с i3 обеспечена на уровне команд, файлов конфигурации и IPC, что позволяет использовать Sway в качестве прозрачной замены i3, использующей Wayland вместо X11.

Для обустройства полноценного пользовательского окружения в Sway предлагаются сопутствующие компоненты: swayidle (фоновый процесс с реализацией ждущего режима), swaylock (хранитель экрана), mako (менеджер уведомлений), grim (создание скриншотов), slurp (выделение области на экране), wf‑recorder (захват видео), waybar (панель приложений), virtboard (экранная клавиатура), wl‑clipboard (работа с буфером обмена), wallutils (управление обоями рабочего стола).

Sway развивается как модульный проект, построенный поверх библиотеки wlroots, в которую вынесены все базовые примитивы для организации работы композитного менеджера. Wlroots включает бэкенды для абстрагирования доступа к экрану, устройствам ввода, отрисовки без прямого обращения к OpenGL, взаимодействию с KMS/DRM, libinput, Wayland и X11 (предоставляется прослойка для запуска X11-приложений на базе Xwayland). Помимо Sway библиотека wlroots активно используется и в других проектах. Кроме поддержки языков C/C++, предоставляются обвязки для языков Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python и Rust.

По информации OpenNET, основные изменения и дополнения в Sway 1.12:

  • добавлена возможность захвата отдельных окон;

  • реализована поддержка вывода в расширенном динамическом диапазоне яркости HDR10 при использовании отрисовки на базе API Vulkan;

  • добавлена поддержка Wayland‑протоколов:

    • color‑management‑v1 для управления цветом и поддержки расширенного динамического диапазона яркости (HDR, High Dynamic Range);

    • color‑representation‑v1 для определения цветового представления Wayland‑поверхности;

    • xdg‑toplevel‑tag‑v1 для прикрепления Wayland‑клиентами тегов к поверхностям верхнего уровня, которые композитный сервер может использовать для восстановления позиции, размера и свойств окон после перезапуска, а также для определения особых правил для отдельных видов окон;

    • ext‑workspace‑v1 для создания панелей или индикаторов, выводящих список доступных виртуальных рабочих столов и позволяющих переключаться между ними;

    • wl_fixes для решения проблем с другими программными интерфейсами базовых протоколов, которые не могут быть устранены собственными возможностями этих интерфейсов.

  • реализована опция «‑device‑primaries», при указании которой цветовой профиль формируется на основе данных, вызываемых монитором через EDID;

  • добавлена поддержка определения наличия кейпада, используя флаг LIBINPUT_SWITCH_KEYPAD_SLIDE в libinput;

  • в файл конфигурации включены привязки специальных мультимедийных клавиш (приостановить, продолжить воспроизведение, следующая композиция и тому подобное) для управления воспроизведением мультимедийного содержимого при помощи утилиты playerctl;

  • цветовой профиль вывода srgb переведён на использование кусочной (piece‑wise) передаточной функции sRGB вместо gamma 2.2 (для gamma 2.2 следует использовать отдельный профиль gamma22, который применяется по умолчанию);

  • запуск в системах с неподдерживаемыми GPU (например, при использовании проприетарных драйверов NVIDIA), теперь приводит к выводу предупреждения, а не к завершению работы с ошибкой. Предупреждение можно отключить при помощи флага «‑unsupported‑gpu» или переменной окружения SWAY_UNSUPPORTED_GPU;

  • добавлена официальная поддержка использования дисплейных менеджеров для запуска Sway;

  • задействованы новые возможности библиотеки wlroots 0.20. Среди изменений в новой версии wlroots: поддержка определения цветового представления Wayland‑поверхности, управления цветом и использования HDR при помощи протоколов color‑representation‑v1 и color‑management‑v1. Поддержка Wayland‑протоколов cursor‑shape‑v1 для настройки внешнего вида курсора, ext‑workspace‑v1 для использования концепции виртуальных рабочих столов и xdg‑toplevel‑tag‑v1 для идентификации окон/поверхностей через привязку тегов.