Выпуск labwc 0.9.0, композитного сервера для Wayland

Опубликован выпуск проекта labwc 0.9.0 (Lab Wayland Compositor), развивающего композитный сервер для Wayland с возможностями, напоминающими оконный менеджер Openbox (проект преподносится как попытка создания альтернативы Openbox для Wayland). Из особенностей labwc упоминается минимализм, компактная реализация, широкие возможности настройки и высокая производительность. Анимированные эффекты, градиенты и пиктограммы, за исключением кнопок для окон, не поддерживаются принципиально. Код проекта написан на языке Си и распространяется под лицензией GPLv2.

В качестве основы используется библиотека wlroots, развиваемая разработчиками пользовательского окружения Sway и предоставляющая базовые функции для организации работы композитного менеджера на базе Wayland. Возможно подключение надстроек с реализацией таких функций, как создание скриншотов, отображение обоев на рабочем столе, размещение панели и меню. Для запуска X11-приложений в окружении на базе протокола Wayland поддерживается использование DDX-компонента XWayland. Тема оформления, базовое меню и горячие клавиши настраиваются через файлы конфигурации в формате xml. Имеется встроенная поддержка экранов с высокой плотностью пикселей (HiDPI).

Помимо встроенного корневого меню, настраиваемого через файл menu.xml, можно подключить сторонние реализации меню приложений, такие как bemenu, fuzzel и wofi. В качестве панели можно использовать Waybar, sfwbar, Yambar или LavaLauncher. Для управления подключением мониторов и изменением их параметров предлагается использовать wlr-randr или kanshi. Блокировка экрана осуществляется при помощи swaylock. Композитный менеджер задействован в графическом окружении дистрибутива Raspberry Pi OS и опционально поддерживается в средах рабочего стола Xfce и LXQt.

В новой версии:

  • Добавлена поддержка возможностей нового выпуска библиотеки wlroots 0.19, таких как реализация новых протоколов Wayland, поддержка Multi-GPU и возможность явной синхронизации буферов при помощи объектов синхронизации DRM (Direct Rendering Manager).

  • Обеспечена поддержка Wayland-протоколов:
    • ext-data-control — позволяет привилегированным клиентам управлять обработкой данных, например, для реализации менеджеров буфера обмена.

    • alpha-modifier — позволяет клиентам менять уровень прозрачности поверхности и выносить операции по обеспечению прозрачности на сторону композитного сервера.

    • xdg-toplevel-icon — реализует привязку пиктограммы к окну верхнего уровня.

    • drm-syncobj» — предоставляет инструменты для явной синхронизации буферов при помощи объектов синхронизации DRM (Direct Rendering Manager).

    • ext-image-copy-capture — организация захвата контента, выводимого на экран.

  • Добавлена команда «lab-sensible-terminal» для запуска эмулятора терминала (программа выбирается на основе переменной окружения $TERMINAL). В корневое меню добавлен пункт для вызова терминала.
  • Добавлена поддержка градиентной заливки области заголовка окна. Для настройки градиента предложены опции:
    • window.*.title.bg: Solid | Gradient (Vertical | SplitVertical)
    • window.*.title.bg.colorTo:
    • window.*.title.bg.color.splitTo:
    • window.*.title.bg.colorTo.splitTo:
  • В вывод при запуске с опциями »-v» (»--version») добавлена информация о поддерживаемых возможностях, например »+xwayland -rsvg».

  • Обеспечена отправка ресурсов DRM (Direct Rendering Manager Leases) клиентам XWayland.
  • Добавлена настройка ‹windowRule iconPriority=«client|server»› для выбора приоритетного метода поиска пиктограмм.

  • Добавлена поддержка цветовых тем, определённых с использованием синтаксиса X11-color-names и '#rgb'.

  • Реализована поддержка XWayland-свойства _NET_WM_ICON и добавлено правило iconPriority для включения его поддержки.

  • Добавлена настройка »‹core›‹primarySelection›», позволяющая использовать автопрокрутку средним колесом мыши в Chromium и приложениях на платформе Electron без непреднамеренной вставки данных из буфера обмена.

  • Обновлены поддерживаемые версии Wayland-протоколовp xdg_shell и wl_compositor.
  • Добавлена поддержка вспомогательных кнопок на мышах.

  • Добавлены настройки для libinput:
    • »‹threeFingerDrag›»
    • »‹dragLock›sticky‹/dragLock›»
    • »‹scrollMethod›none|twofinger|edge‹/scrollMethod›»
  • Добавлены параметры »{left, right}-occupied» для упрощения навигации между виртуальными рабочими столами, на которых имеются открытые окна.
  • Добавлена настройка »‹theme›‹dropShadowsOnTiled›» для включения показа тени для мозаичных окон.

  • Добавлена поддержка эмуляции прокрутки колесом мыши, для управления которой предложены параметры EnableScrollWheelEmulation, DisableScrollWheelEmulation и ToggleScrollWheelEmulation.

CFD0C5CECEC5D4_1723873067.png CFD0C5CECEC5D4_1721468991.png




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

© OpenNet