Выпуск композитного сервера Niri 26.04, использующего Wayland

После трёх месяцев разработки опубликован выпуск композитного сервера Niri 26.04, реализующего метод мозаичной (tiling) компоновки в стиле GNOME-расширения PaperWM, в котором окна группируются в бесконечно прокручиваемую на экране ленту. Открытие нового окна приводит к расширению ленты, а ранее добавленные окна не меняют свой размер. Проект базируется на использовании протокола Wayland, но позволяет запускать приложения X11 при помощи DDX-сервера Xwayland. Код проекта написан на языке Rust и распространяется под лицензией GPLv3. Пакеты формируются для Fedora, NixOS, Arch Linux и FreeBSD.

Принципиальным отличием Niri от PaperWM является привязка к каждому монитору собственной ленты окон, не пересекающейся с лентами на других мониторах (в PaperWM раздельная работа с мониторами не может быть реализована из-за привязки к глобальным оконным координатам в GNOME Shell). Niri поддерживает HiDPI и может работать на системах с несколькими GPU (например, гибридных системах с дискретной видеокартой и встроенным GPU). Имеется встроенный интерфейс для создания скриншотов и записи скринкастов, особенностью которого является возможность исключения из записи отдельных окон с конфиденциальной информацией.

Виртуальные рабочие столы в Niri создаются динамически и по аналогии с GNOME размещаются вертикально (лента окон вращается горизонтально, а лента рабочих столов — вертикально). На каждом мониторе может отображаться независимый набор виртуальных рабочих столов. Для переключения между рабочими столами и окнами можно использовать управляющие жесты на тачпаде. При отключении монитора раскладка виртуальных рабочих столов запоминается и переносится на оставшийся монитор, а при возвращении монитора восстанавливается в исходное состояние. Настройка осуществляется через файл конфигурации, позволяющий изменять такие параметры, как ширина рамок, отступы, режимы вывода и размеры окон. Внесённые в файл конфигурации изменения применяется автоматически без перезапуска композитного сервера.

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

  • Добавлена возможность размытия фона полупрозрачных окон. Приложения и компоненты пользовательского окружения могут управлять прозрачностью при помощи Wayland-протокола ext-background-effect, а для не поддерживающих данный протокол программ прозрачность можно настроить через привязку в файле конфигурации. Встроенная поддержка размытия фона реализована в оболочках Dank Material Shell и Noctalia, лаунчере Vicinae, эмуляторах терминала foot, kitty и Ghostty, тулкитах Quickshell и winit. Доступно два режима размытия фона: «xray» (размытие вычисляется один раз и затем подставляется готовая статическая картинка) и «normal» (размытие производится на лету).

    CFD0C5CECEC5D4_1777285414.png

  • В директиву файла конфигурации «include», применяемую для подстановки содержимого других файлов, добавлена опция «optional=true», позволяющая определять необязательные компоненты конфигурации. Если подключаемый файл отсутствует, то при наличии опции «optional=true» вместо ошибки будет выведено предупреждение. Внутри конфигурации добавлена возможность использования пути »~/», ассоциированного с домашним каталогом.

  • Для упрощения навигации по нескольким окнам по аналогии с Blender при горизонтальной прокрутке мышью рабочей области реализовано автоматическое перескакивание курсора с одного края экрана на другой.

  • При записи скринкастов реализована передача в PipeWire метаданных о курсоре отдельно от видеопотока, что, например, позволяет в OBS отрисовывать курсор самостоятельно. В IPC добавлены команды для отслеживания записи скринкаста, остановки скринкасата и получения событий о начале/завершения записи (для вывода индикатора в панели).

  • Улучшена анимация прокрутки и раскрытия/свёртывания окон.
  • Добавлена возможность отмены операции drag&drop, нажатием клавиши Escape.
  • Улучшена поддержка планшетов и трекболов.
  • Расширены возможности профилирования GPU при помощи пакета Tracy. Добавлена возможность отслеживания производительности рендеринга и операций размытия. Реализована поддержка систем с гибридной графикой (встроенный GPU + дискретная видеокарта).
  • Проведена оптимизация отрисовки. Построение списка объектов, отрисовываемых на экране, ускорено в 2–3 раза на современных системах и до 8 раз на старых.



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

© OpenNet