Выпуск labwc 0.20, композитного сервера для Wayland
Опубликован выпуск проекта labwc 0.20 (Lab Wayland Compositor), развивающего композитный сервер для Wayland с возможностями, напоминающими оконный менеджер Openbox (проект преподносится как попытка создания альтернативы Openbox для Wayland). Код проекта написан на языке Си и распространяется под лицензией GPLv2. Значительное увеличение версии (с 0.9 до 0.20) объясняется синхронизацией с нумерацией версий библиотеки wlroots.
Labwc задействован в графическом окружении дистрибутива Raspberry Pi OS и опционально поддерживается в средах рабочего стола Xfce и LXQt. Среди целей проекта labwc упоминаются минимализм, компактная реализация, широкие возможности настройки и высокая производительность. Принципиально не поддерживаются анимированные эффекты, градиенты и пиктограммы, за исключением кнопок для окон. В качестве основы используется библиотека wlroots, развиваемая разработчиками пользовательского окружения Sway и предоставляющая базовые функции для организации работы композитного менеджера на базе Wayland.
Возможно подключение надстроек с реализацией таких функций, как создание скриншотов, отображение обоев на рабочем столе, размещение панели и меню. Для запуска X11-приложений в окружении на базе протокола Wayland поддерживается использование DDX-компонента XWayland. Тема оформления, базовое меню и горячие клавиши настраиваются через файлы конфигурации в формате xml. Имеется встроенная поддержка экранов с высокой плотностью пикселей (HiDPI).
Помимо встроенного базового меню, настраиваемого через файл menu.xml, можно подключить сторонние реализации меню приложений, такие как bemenu, fuzzel и wofi. В качестве панели можно использовать Waybar, sfwbar, Yambar или LavaLauncher. Для управления подключением мониторов и изменением их параметров предлагается использовать wlr-randr или kanshi. Блокировка экрана осуществляется при помощи swaylock.
В новой версии:
Осуществлён переход на выпуск библиотеки wlroots 0.20, в котором реализована поддержка возможностей для управления цветом, HDR, настройки внешнего вида курсора и виртуальных рабочих столов.
Реализована частичная поддержка захвата контента, выводимого на Wayland-поверхности верхнего уровня (toplevel-capture), позволяющая создавать скриншоты и записывать скринкасты для содержимого отдельных окон. Реализация пока не охватывает дочерние и всплывающие окна приложений, запущенных через XWayland, а также вложенные Wayland-поверхности xdg.
Добавлена поддержка расширенного диапазона яркости с возможностью вывода на мониторы, поддерживающие HDR10 (работает только при использовании бэкенда отрисовки на базе Vulkan).
Реализован ускоренный переход к элементам меню через нажатие первой буквы названия. Например, для запуска Firefox достаточно вызвать меню комбинацией «Meta+a» и нажать букву «f».
Добавлена комбинация клавиш Super-d для скрытия и возвращения окон. Для настройки собственных комбинаций клавиш с данным действием предложен параметр ToggleShowDesktop.
Добавлена опция командной строки »-t» (--title) для выставления заголовка окна при вложенном запуске labwc.
- В утилиту labnag добавлены опции »--details-border-color» и »--details-margin» для выставления цвета и отступа области вокруг содержимого.
Обеспечена установка systemd-юнита labwc-session.target при наличии systemd.
В файл конфигурации добавлена настройка »‹focus›‹raiseOnFocusDelay› для внесения задержки перед переключением фокуса.
В опцию »‹libinput›‹device›‹scrollMethod›» добавлена поддержка метода прокрутки «onbutton», а также реализована отдельная опция »‹libinput›‹device›‹scrollButton›» для прокрутки содержимого с использованием кнопок.
Добавлена опция ‹tabletTool minPressure=»0.0» maxPressure=»1.0» /› для настройки диапазона чувствительности к нажатию для графического планшета.
В файл конфигурации добавлена опция ‹privilegedInterfaces› для ограничения доступа к привилегированным протоколам.
Добавлен отладочный параметр DebugToggleKeyStateIndicator для отображения поверх содержимого сведений о состоянии клавиш.
Добавлена поддержка Wayland-протоколов для управления цветом: color-representation-v1 и color-management-v1.
Реализован интерфейс wl_fixes, позволяющий решать проблемы с другими программными интерфейсами базовых протоколов, которые не могут быть устранены собственными возможностями этих интерфейсов. Например, запрос «wl_fixes: destroy_registry» позволяет ликвидировать объект wl_registry, после чего клиент не сможет его использовать, а композитный сервер прекратит передачу через него событий.

Источник: http://www.opennet.ru/opennews/art.shtml? num=65529
© OpenNet
