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

Доступен выпуск проекта labwc 0.7.2 (Lab Wayland Compositor), развивающего композитный сервер для Wayland с возможностями, напоминающими оконный менеджер Openbox (проект преподносится как попытка создания альтернативы Openbox для Wayland). Из особенностей labwc называется минимализм, компактная реализация, широкие возможности настройки и высокая производительность. Код проекта написан на языке Си и распространяется под лицензией 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.

CFD0C5CECEC5D4_1715681595.png

Ключевые изменения в новом выпуске:

  • Добавлена настройка ‹menu›‹ignoreButtonReleasePeriod› для определения времени игнорирования удержания кнопок мыши, что можно использовать для защиты от непреднамеренного выбора элементов или закрытия меню.
  • Добавлена возможность использования падающих теней для окон, декодируемых на стороне сервера. Для включения теней в блоке ‹theme› предложена настройка ‹dropShadows›, а для настройки размера и цвета добавлены свойства window.active|inactive.shadow.size и window.active|inactive.shadow.color.

  • Добавлено правило ignoreConfigureRequest, позволяющее игнорировать запросы конфигурации от клиентов X11 для изменения размера и позиции на экране.
  • В правилах разрешена привязка к типу окон (‹windowRule type=»›). Например, для окон XWayland применяется тип NET_WM_WINDOW_TYPE_DESKTOP.

  • В циклы ‹action name=«ForEach»› добавлена поддержка секций «none», срабатывающих при отсутствии успешных совпадений.

  • Добавлена опция »-S» (--session) для запуска указанной команды при запуске и для завершения работы композитного менеджера при завершении работы команды.

  • В темах оформления появилась возможность указания цвета кодирования уровня прозрачности, используя формат »#aabbccff».

  • В настройках интерфейса переключения между окнами разрешено создание произвольных полей с форматированием в стиле printf, например, ‹field content=«custom» format=«foobar %b %3s %-10o %-20W %-10i%t» width=»100%» /›. Добавлена возможность указания ширины интерфейса переключения между окнам в процентах относительно ширины экрана («osd.window-switcher.width: 75%»), а также изменения размера и цвета рамки вокруг эскизов окон (osd.window-switcher.preview.border.width|color). При настройке содержимого добавлены новые поля workspace, state, type_short и output.

  • Добавлена поддержка совместимых с Openbox меню (pipe-menu).
  • Добавлена возможность настройки привязки к краю экрана.
  • Добавлена поддержка настройки методов ввода и интерфейс для их редактирования.
  • Добавлена поддержка калибровки устройств ввода.

  • В интерфейсе переключения между виртуальными рабочими столами появилась возможность определения префикса наименования рабочих столов.

  • Добавлена возможность определения переменных окружения в файлах *.env, размещённых в каталоге «environment.d».
  • Добавлена поддержка указания пустого значения для очистки переменной окружения.

  • Добавлена возможность определения запасного устройства вывода (LABWC_FALLBACK_OUTPUT), которое будет выбрано в случае недоступности базовых устройств вывода, что может оказаться полезным, например, при запуске VNC-сервера.

  • Добавлена настройка ‹windowSwitcher allWorkspaces=«yes»›, позволяющая в window-switcher отображать окна на всех виртуальных рабочих столах.
  • Предоставлена фозможность запуска shutdown-скрипта при завершении работы.



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

© OpenNet