Ya вышла новая версия labwc 0.6, что является важной версией, поскольку включает рефакторинг для использования графического API wlroots. Это касается многих областей кода, в частности рендеринга, оформления на стороне сервера, реализации слоев и меню.
Для незнакомых с labwc 0.6 следует знать, что в его основе лежит библиотека wlroots, которая была разработана разработчиками пользовательской среды Sway и предоставляет базовые функции для организации работы составного менеджера на базе Wayland.
Из расширенных протоколов Wayland поддерживается wlr-output-management для настройки устройств вывода, layer-shell для организации работы оболочки рабочего стола и Foreign-toplevel для подключения собственных панелей и оконных переключателей.
Основные новинки labwc 0.6
В представленной новой версии labwc 0.6 подчеркивается, что значительно переработано использование графического API сцены, предоставленной wlroots, тем самым обработка отразилась на рендеринге, оформление окон, меню и выполнение корпуса экрана.
El обработка изображений и шрифтов перед выводом на экран переведена на буферизацию вместо текстур (структура wlr_texture), что позволило обеспечить правильное масштабирование вывода, плюс был упрощен код привязки контроллеров к wlr_scene_nodes.
Еще одно изменение, которое выделяется в этой новой версии, заключается в том, что предусмотрены непрерывные интеграционные тесты для сборок Debian, FreeBSD, Arch и Void, включая сборки, отличные от xwayland.
В дополнение к этому мы также можем обнаружить, что добавлена поддержка настройки курсива и веса шрифтов (для использования курсива и полужирного шрифта), а также добавление настройки чтобы контролировать, включены ли предварительные просмотры схемы.
Протокол xdg-desktop-portal-wlr был включен для работы без дополнительной настройки (выполнена инициализация dbus и активация через systemd), что решило проблемы с выпуском OBS Studio.
В этой новой версии labwc 0.6 также выделены Реализована поддержка протокола drm_lease_v1., который используется для создания стереоизображения с разными буферами для левого и правого глаза при отображении в очках виртуальной реальности.
- Пропорциональное представление стрелок для подменю. В меню добавлена поддержка разделителей.
- Улучшенные параметры отладки.
- Добавлена поддержка виртуальных рабочих столов.
- Добавлена поддержка использования разных языков в клиентских меню.
- Реализована поддержка протокола времени презентации, используемого для отображения видео.
- Добавлена поддержка сенсорных устройств.
- Протоколы реализованы для использования виртуальной клавиатуры и указателя.
- Добавлен способ закрепить окно поверх других окон (ToggleAlwaysOnTop).
- Добавлены настройки osd.border.color и osd.border.width для определения ширины и цвета рамки окна.
- Добавлены настройки для изменения задержки клавиатуры и настроек повтора.
- Добавлена возможность привязки операций к прокрутке колесиком мыши (по умолчанию прокрутка на рабочем столе переключается между виртуальными рабочими столами).
- Добавлена поддержка плавной и горизонтальной прокрутки.
Как установить LABWC?
Для тех, кто заинтересован в возможности установить этот композитор в своей системе, они должны следовать инструкциям, которые мы публикуем ниже.
Дистрибутив с самым простым методом установки — это Fedora, и для установки labwc просто откройте терминал и введите в нем:
sudo dnf install labwc
Те, кто пользователи Arch Linux, Manjaro или любого другого дистрибутива, производного от Arch Linux, они должны открыть терминал и ввести в нем следующую команду для загрузки необходимых зависимостей:
sudo pacman -S meson wlroots cairo pango libxml2 glib2
После этого они получат исходный код LABWC, выполнив в терминале следующую команду:
git clone https://github.com/johanmalm/labwc cd labwc meson build ninja -C build
Теперь для тех, кто является пользователем Debian, UBuntu или любого другого дистрибутива, основанного на одном из этих двух, они должны ввести в терминале следующее:
git clone https://github.com/johanmalm/labwc cd labwc meson build ninja -C build
Для тех, кто хочет узнать больше о LABWC, они могут посетить сайт проект на GitHub.