Выпуск miracle-wm 0.9, композитного менеджера на базе Wayland и Mir

Мэтью Косарек (Matthew Kosarek), разработчик из компании Canonical, опубликовал выпуск композитного менеджера miracle-wm 0.9, использующего протокол Wayland и компоненты для построения композитных менеджеров Mir. Miracle-wm поддерживает мозаичную (tiling) компоновку окон, схожую с аналогичной в проектах i3 и Sway. В качестве панели может применяться Waybar. Код проекта написан на языке C++ и распространяется под лицензией GPLv3. Готовые сборки сформированы в формате snap, а также в пакетах rpm и deb для Fedora и Ubuntu.

Целью miracle-wm является создание композитного сервера, применяющего мозаичное управление окнами, но более функционального и стильного, чем такие продукты, как Swayfx. При этом проект позволяет использовать и классические приёмы работы с плавающими окнами, например, можно размещать отдельные окна поверх мозаичной сетки или закреплять окна к определённому месту на рабочем столе. Поддерживается виртуальные рабочие столы с возможностью выставления для каждого рабочего стола своего режима работы с окнами по умолчанию (мозаичная компоновка или плавающие окна).

Предполагается, что miracle-wm может оказаться полезным пользователям, которые отдают предпочтение мозаичной компоновке, но желают получить визуальные эффекты и более яркое графическое оформление с плавными переходами и цветами. Конфигурация определяется в формате YAML. Для установки miracle-wm можно использовать команду «sudo snap install miracle-wm --classic».

CFD0C5CECEC5D4_1775709069.png

Основные новшества:

  • Добавлена система плагинов, поставляемых в промежуточном коде WebAssembly и выполняемых в форме изолированных (sandbox) модулей. Плагины могу применяться для изменения и расширения возможностей композитного менеджера, среди прочего связанных с изменением логики размещения окон, обработкой и расширением конфигурации, перехватом событий ввода и указателя мыши, реализацией анимированных эффектов и подключением обработчиков, срабатывающих при создании, удалении или переключении рабочих столов. Плагины могут перезапускаться по отдельности без перезапуска композитного менеджера.

  • Добавлен API для разработки плагинов на языке Rust.

  • Добавлена поддержка тем оформления курсоров.

  • Добавлены новые пиктограммы.

  • Добавлена комбинация клавиш «Meta + Shift + R» для перезагрузки конфигурации.

  • Концепция «мини-деревьев» (mini tree), применяемая для группировки связанных друг с другом плавающих окон, заменена более предсказуемое поведение с отдельными плавающими окнами.

  • Проведена оптимизация производительности.
  • Обеспечена автоматическая перезагрузка настроек дисплея после изменения конфигурации.

  • Изменён формат настройки собственных обработчиков — в привязках вместо идентификаторов клавиш в стиле событий ввода ядра Linux теперь следует использовать имена в стиле XKbKeysyms, например, «D» вместо «KEY_D» и «Return» вместо «KEY_ENTER».





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

© OpenNet