Подготовлен (https://github.com/swaywm/sway/releases/tag/1.2) релиз композитного менеджера Sway 1.2 (https://swaywm.org/), построенного с использованием протокола Wayland и полностью совместимого с мозаичным оконным менеджером i3 (https://i3wm.org/) и панелью i3bar (https://i3wm.org/i3bar/). Код проекта написан на языке Си и распространяется (https://github.com/swaywm/sway) под лицензией MIT. Проект нацелен на использование в Linux и FreeBSD.
Совместимость с i3 обеспечена на уровне команд, файлов конфигурации и IPC, что позволяет использовать Sway в качестве прозрачной замены i3, использующей Wayland вместо X11. Sway позволяет размещать окна на экране не пространственно, а логически. Окна располагаются, образуя сетку, оптимально использующую экранное пространство и позволяющую быстро манипулировать окнами только при помощи клавиатуры.
Для обустройства полноценного пользовательского окружения предлагаются сопутствующие компоненты: swayidle (https://github.com/swaywm/swayidle) (фоновый процесс с реализацией протокола KDE idle), swaylock (https://github.com/swaywm/swaylock) (хранитель экрана), mako (https://github.com/emersion/mako) (менеджер уведомлений), grim (https://github.com/emersion/grim) (создание скриншотов), slurp (https://github.com/emersion/slurp) (выделение области на экране), wf-recorder (https://github.com/ammen99/wf-recorder) (захват видео), waybar (https://github.com/Alexays/Waybar) (панель приложений), virtboard (https://source.puri.sm/Librem5/virtboard) (экранная клавиатура), wl-clipboard (https://github.com/bugaevc/wl-clipboard) (работа с буфером обмена), wallutils (https://github.com/xyproto/wallutils) (управление обоями рабочего стола).
Sway развивается как модульный проект, построенный поверх библиотеки wlroots (https://github.com/swaywm/wlroots), в которую вынесены все базовые примитивы для организации работы композитного менеджера. Wlroots включает бэкенды для
абстрагирования доступа к экрану, устройствам ввода, отрисовки без прямого обращения к OpenGL, взаимодействию с KMS/DRM, libinput, Wayland и X11 (предоставляется прослойка для запуска X11-приложений на базе Xwayland). Помимо Sway библиотека wlroots активно используется и в других проектах (https://github.com/swaywm/wlroots/wiki/Projects-which-use-wl...), включая Librem5 (https://developer.puri.sm/) и Cage (https://github.com/Hjdskes/cage). Кроме Си/С++ разработаны биндинги для Scheme, Common Lisp, Go, Haskell, OCaml, Python и Rust.
В новом выпуске:
- Проведена работа по улучшению совместимости с оконным менеджером
i3 4.17 (https://www.opennet.ru/opennews/art.shtml?num=51215).
- Добавлена опция для запуска приложения после перезапуска;
- Добавлен переключатель для выбора применяемого по умолчаеию метода разделения окон по вкладкам или бок о бок (в виде стека);
- Доработан механизм переключения раскладок клавиатуры, добавлены поддержка определения типов устройств ввода и предложена новая команда xkb_switch_layout;
- Добавлена поддержка тем оформления курсора, для изменения которых предложена новая команда xcursor_theme;
- В layer-shell добавлена поддержка всплывающих окон;
- Реализовна поддержка Wayland-протокола wlr-output-management-v1 (https://github.com/swaywm/wlr-protocols/blob/master/unstable...), предназначенного для настройки устройств вывода;
- Добавлена поддержка атомарного изменения настроек экрана через API wlr_output;
- Добавлена настройка calibration_matrix для калибровки сенсорных экранов;
- Устранено несколько утечек памяти и проблем, приводивших к крахам.
URL: https://github.com/swaywm/sway/releases/tag/1.2
Новость: https://www.opennet.ru/opennews/art.shtml?num=51370