Дата публикации:Mon, 25 May 2026 22:34:52 +0300
После почти года разработки опубликован релиз композитного менеджера Sway 1.12, построенного с использованием протокола Wayland и совместимого с мозаичным оконным менеджером i3 и панелью i3bar. Код проекта написан на языке Си и распространяется под лицензией MIT. Проект нацелен на использование в Linux и FreeBSD.
Sway позволяет размещать окна на экране не пространственно, а логически. Окна располагаются, образуя сетку, оптимально использующую экранное пространство и позволяющую быстро манипулировать окнами только при помощи клавиатуры. Совместимость с i3 обеспечена на уровне команд, файлов конфигурации и IPC, что позволяет использовать Sway в качестве прозрачной замены i3, использующей Wayland вместо X11.
Для обустройства полноценного пользовательского окружения предлагаются сопутствующие компоненты: 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 активно используется и в других проектах. Кроме поддержки языков Си/С++, предоставляются обвязки для языков Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python и Rust.
В новом выпуске:
- Добавлена возможность захвата отдельных окон. Реализована поддержка вывода в расширенном динамическом диапазоне яркости 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 для решения проблем с другими программными интерфейсами базовых протоколов, которые не могут быть устранены собственными возможностями этих интерфейсов.
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=65528
