Опубликован выпуск композитного сервера Niri 0.1.5, развиваемого под впечатлением от GNOME-расширения PaperWM и реализующего метод мозаичной (tiling) компоновки, при котором окна группируются в бесконечно прокручиваемую на экране ленту. Открытие нового окна приводит к расширению ленты, а ранее добавленные окна никогда не меняют свой размер. Код проекта распространяется под лицензией GPLv3. Пакеты собраны для Fedora, NixOS , Arch Linux и FreeBSD.
В качестве причины создания отдельного композитного менеджера отмечается невозможность реализации в PaperWM раздельной работы с мониторами из-за привязки к глобальным оконным координатам в GNOME Shell. Принципиальным отличием Niri от PaperWM является привязка к каждому монитору собственной ленты окон, которые не пересекаются между собой. Niri поддерживает HiDPI и может работать на системах с несколькими GPU (например, гибридных системах с дискретной видеокартой и встроенным GPU).
Как и в GNOME виртуальные рабочие столы в Niri создаются динамически и размещаются вертикально (лента окон вращается горизонтально, а лента рабочих столов — вертикально). На каждом мониторе может отображаться независимый набор виртуальных рабочих столов. Для переключения между рабочими столами можно использовать управляющие жесты на тачпаде. При отключении монитора раскладка виртуальных рабочих столов запоминается и переносится на оставшийся монитор, а при возвращении монитора восстанавливается в исходное состояние.
Niri базируется на использовании протокола Wayland, но позволяет запускать приложения X11 при помощи DDX-сервера Xwayland. Имеется встроенный интерфейс для создания скриншотов и записи скринкастов, особенностью которого является возможность исключения из записи отельных окон с конфиденциальной информацией.
Настройка осуществляется через файл конфигурации, позволяющий изменять базовые параметры окружения, такие как ширина рамок, отступы, режимы вывода и размеры окон. Внесённые в файл конфигурации изменения применяется автоматически без перезапуска композитного сервера. Поддерживается управление при помощи жестов на тачпаде. Изменения конфигурации применяются на лету без перезапуска композитного сервера.
Новая версия примечательна реализацией новых анимированных эффектов при манипуляции с окнами, а также реализацией пружинящих эффектов (spring animation). Анимация теперь применяется при перемещении, изменении размера и закрытии окон. Для тех кого раздражают анимированные эффекты в файле конфигурации предусмотрен параметр для отключения анимации или настройки каждого эффекта под свои предпочтения.
Среди других новшеств:
- Добавлена поддержка вывода с переменным битрейтом (VRR, variable refresh rate).
- Расширены возможности IPC-интерфейса, применяемого для взаимодействия внешних систем с композитным сервером.
- Добавлен параметр allow-when-locked=true для определения клавиатурных комбинаций, продолжающих работу при блокировке экрана.
- Обеспечено восстановление прошлой позиции окна после возвращения из полноэкранного режима.
- Реализовано скрытие курсора мыши во время взаимодействия с сенсорным экраном.
- Добавлен пример настройки для отключения микрофона.
Источник: opennet.ru