Достъпен е новият проект labwc 0.6 (Lab Wayland Compositor), който развива композитен сървър за Wayland с функции, напомнящи на управител на прозорци Openbox (проектът се представя като опит за създаване на алтернатива на Openbox за Wayland). Сред характеристиките на labwc са минимализмът, компактната реализация, широките възможности за настройки и високата производителност. Кодът на проекта е написан на C и е разпространен под лиценз 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.
- Добавена е поддръжка за настройка на наклона и дебелината на шрифтовете (за използване на наклонени и удебелени шрифтове).
- Добавена е настройка за управление на включването на предварителен преглед на контури.
- Осигурена е рисуването на стрелки за подменю. В менюто е добавена поддръжка за разделители.
- Осигурена е работа на протокола xdg-desktop-portal-wlr без допълнителни настройки (извършена е инициализация на dbus и активиране чрез systemd), което реши проблеми с стартирането на OBS Studio.

Източник: opennet.ru
