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

Доступний випуск проекту labwc 0.6 (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).

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

Крім вбудованого кореневого меню, яке налаштовується через 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

Додати коментар або відгук