17.04.2024

Релиз пользовательского окружения Sway 1.9, использующего Wayland

После 14 месяцев разработки опубликован релиз композитного менеджера Sway 1.9, построенного с использованием протокола Wayland и полностью совместимого с мозаичным оконным менеджером i3 и панелью i3bar. Код проекта написан на языке Си и распространяется под лицензией 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. Кроме Си/С++ разработаны биндинги для Scheme, Common Lisp, Go, Haskell, OCaml, Python и Rust.

В новом выпуске:

  • Задействованы новые возможности библиотеки wlroots 0.17, такие как поддержка Wayland-протоколов content-type-v1 (обработка сведения об отображаемом содержимом), xwayland-shell-v1 (связывание окна X11 с поверхностью Wayland), wp-fractional-scale-v1 (дробное масштабирование), security-context-v1 (sandbox-изоляция) и cursor-shape-v1 (настройка внешнего вида курсора).
  • Улучшена поддержка протокола «xdg-activation-v1«, позволяющего передать фокус между разными Wayland-поверхностями первого уровня (например, при помощи xdg-activation одно приложение может переключить фокус на другое). В новой версии добавлена поддержка отслеживания фокуса с учётом виртуальных рабочих столов и многомониторных конфигураций.
  • Код для отрисовки содержимого переведён на новый API отрисовки, предоставляемый библиотекой wlroots, что позволило добиться увеличения производительности.
  • В файл конфигурации добавлена настройка для отключения первичного буфера обмена.
  • Добавлены новые команды управления устройствами ввода, позволяющие выставить параметры RotationAngle и ScrollButtonLock в libinput для решения проблем с тачпадами и мышами.
  • Добавлена поддержка использования кнопок планшетов для изменения размера плавающих окон.
  • В IPC добавлена поддержка события вывода.
  • В качестве меню-приложений по умолчанию задействован проект
    wmenu.

  • Прекращена поддержка специфичного для KDE протокола idle, вместо которой задействован стандартный Wayland-протокол idle-notify-v1.


Источник: https://www.opennet.ru/opennews/art.shtml?num=60662 Источник.