Публикацията на проекта labwc 0.20 (Lab Wayland Compositor) развива композитен сървър за Wayland с функции, напомнящи на мениджъра на прозорци Openbox (проектът се представя като опит за създаване на алтернатива на Openbox за Wayland). Кодът на проекта е написан на C и се разпространява под лицензия 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“ за задаване на цвета и отстъпа на областта около съдържанието.
- Осигурена е инсталация на системния юнит labwc-session.target при наличие на systemd.
- В конфигурационния файл е добавена настройка „ за въвеждане на забавяне преди смяната на фокуса.
- В опцията „“ е добавена поддръжка на метода за превъртане „onbutton“, както и е реализирана отделна опция „“ за превъртане на съдържанието с помощта на бутоните.
- Добавена е опция за настройка на диапазона на чувствителност на натиска за графичния таблет.
- В конфигурационния файл е добавена опция за ограничаване на достъпа до привилегировани протоколи.
- Добавен е отладъчен параметър DebugToggleKeyStateIndicator за показване на информация за състоянието на клавишите над съдържанието.
- Добавена е поддръжка на Wayland протоколи за управление на цвета: color-representation-v1 и color-management-v1.
- Реализиран е интерфейс wl_fixes, който позволява решаването на проблеми с други програмни интерфейси на основни протоколи, които не могат да бъдат разрешени с възможностите на самите интерфейси. Например,
запитването «wl_fixes::destroy_registry» позволява унищожаване на обект wl_registry, след което клиентът няма да може да го използва, а композитният сървър ще спре предаването на събития през него.




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