Выпуск labwc 0.6, композитного сервера для Wayland
Доступен выпуск проекта labwc 0.6 (Lab Wayland Compositor), развивающего композитный сервер для Wayland с возможностями, напоминающими оконный менеджер Openbox (проект преподносится как попытка создания альтернативы Openbox для Wayland). Из особенностей labwc называется минимализм, компактная реализация, широкие возможности настройки и высокая производительность. Код проекта написан на языке Си и распространяется под лицензией GPLv2.
В качестве основы используется библиотека wlroots, развиваемая разработчиками пользовательского окружения Sway и предоставляющая базовые функции для организации работы композитного менеджера на базе Wayland. Из расширенных Wayland-протоколов поддерживаются wlr-output-management для настройки устройств вывода, layer-shell для организации работы оболочки рабочего стола и foreign-toplevel для подключения собственных панелей и переключателей окон.
Возможно подключение надстроек с реализацией таких функций, как создание скриншотов, отображение обоев на рабочем столе, размещение панели и меню. Анимированные эффекты, градиенты и пиктограммы (за исключением кнопок для окон) не поддерживаются принципиально. Для запуска X11-приложений в окружении на базе протокола Wayland поддерживается использование DDX-компонента XWayland. Тема оформления, базовое меню и горячие клавиши настраиваются через файлы конфигурации в формате xml. Имеется встроенная поддержка экранов с высокой плотностью пикселей (HiDPI).
Помимо встроенного корневого меню, настраиваемого через menu.xml, можно подключить сторонние реализации меню приложений, такие как bemenu, fuzzel и wofi. В качестве панели можно использовать Waybar, sfwbar, Yambar или LavaLauncher. Для управления подключением мониторов и изменением их параметров предлагается использовать wlr-randr или kanshi. Блокировка экрана осуществляется при помощи swaylock.
Ключевые изменения в новом выпуске:
Значительно переработано использование API графа сцены, предоставляемого в wlroots. Переработка отразилась на отрисовке, декорировании окон, меню и реализации экранной оболочки. Обработка изображений и шрифтов перед выводом на экран переведена на использование буферов вместо текстур (структура wlr_texture), что позволило обеспечить корректное масштабирование вывода. Упрощён код для привязки обработчиков к узлам wlr_scene_nodes. Расширены возможности для отладки.
- Добавлена поддержка виртуальных рабочих столов.
- Добавлена поддержка использования разных языков в клиентских меню.
- Реализована поддержка протокола presentation-time, применяемого для отображения видео.
- Добавлена поддержка сенсорных устройств.
- Реализована поддержка протокола drm_lease_v1, применяемого для формирования стереокартинки с разными буферами для левого и правого глаза при выводе на шлемы виртуальной реальности.
- Реализованы протоколы для применения виртуальной клавиатуры и указателя.
- Добавлен режим для закрепления окна поверх других окон (ToggleAlwaysOnTop).
Добавлены настройки osd.border.color и osd.border.width для определения ширины и цвета оконной рамки.
- Добавлены настройки для изменения параметров задержки и повтора ввода клавиатуры.
Добавлена возможность привязки операций к прокрутке колесом мыши (по умолчанию при проктутке на рабочем столе производится переключение между виртуальными рабочими столами).
Добавлена поддержка плавной и горизонтальной прокрутки.
Обеспечено тестирование в системе непрерывной интеграции сборок для Debian, FreeBSD, Arch и Void, включая сборок без xwayland.
Добавлена поддержка настройки наклона и толщины шрифтов (для использования наклонных и жирных шрифтов).
Добавлена настройка ‹core›‹cycleViewOutlines› для управления включением предпросмотра контуров.
Обеспечена отрисовка стрелок для подменю. В меню добавлена поддержка разделителей.
Обеспечена работа протокола xdg-desktop-portal-wlr без дополнительных настроек (выполнена инициализация dbus и активации через systemd), что решило проблемы с запуском OBS Studio.
Источник: http://www.opennet.ru/opennews/art.shtml? num=58150
© OpenNet