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

Представлен первый стабильный релиз композитного менеджера Sway 1.0, построенного с использованием протокола Wayland и полностью совместимого с мозаичным оконным менеджером i3 и панелью i3bar. Код проекта написан на языке Си и распространяется под лицензией MIT. Проект нацелен на использование в Linux и FreeBSD.

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

Среди расширенных возможностей, появившихся в новой версии отмечается поддержка Dragdrop, протокола xdg-shell, протоколов для захвата содержимого экрана и протокола для работы с буфером обмена (GTK primary selection). Имеется возможность копирования через буфер обмена сложного содержимого, такого как изображения, между Xwayland и Wayland. Для интеграции сторонних панелей, систем блокировки экрана и систем вывода уведомлений реализована поддержка протокола layer-shell. Стандартизированы методы декорирования окон на стороне клиента и сервера. Из ограничений упоминается отсутствие поддержки проприетарных драйверов NVIDIA — для работы следует использовать свободный драйвер Nouveau.

В качестве сопутствующих компонентов, которые могут применяться вместе с Sway для обустройства полноценного пользовательского окружения, называются:

  • swayidle — фоновый процесс с реализацией протокола KDE idle, применяемого для отслеживания активности пользователя и выполнения действий во время неактивности (например, установки статуса «отсутствует» в чате, отключения монитора, включения энергосберегающих режимов);
  • swaylock — хранитель экрана;
  • mako — менеджер уведомлений;
  • grim — инструмент для создания скриншотов;
  • slurp — инструмент для выделения области на экране;
  • wf-recorder — инструмент для захвата видео;
  • waybar — альтернативная панель приложений;
  • virtboard — экранная клавиатура;
  • wl-clipboard — замена xclip для работы с буфером обмена;
  • wallutils — менеджер обоев рабочего стола.

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

Среди планов по дальнейшему развитию Sway упоминается улучшение поддержки расширенных систем ввода, предоставление средств для людей с ограниченными возможностями (экранный ридер, контрастный режим, инструмент с лупой), поддержка протокола xdg-portal, использование мультимедийного сервера pipewire для захвата экрана, улучшение поддержки сенсорных экранов для использования на Librem 5 и postmarketOS, улучшение поддержки графических планшетов и дополнительного оборудования, поддержка изолированного запуска и расширенные функции для обеспечения безопасности.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.