Публикувано е първото издание на композитния сървър Niri. Проектът е вдъхновен от GNOME разширението PaperWM и реализира метод на мозайчна компоновка (tiling), при който прозорците се групират в безкрайно превъртаща се лента на екрана. Отварянето на нов прозорец води до разширяване на лентата, а преди добавените прозорци никога не променят размера си. Кодът на проекта е написан на Rust и се разпространява под лицензия GPLv3. Пакетите са събрани за Fedora, NixOS, Arch Linux и FreeBSD.

Причината за създаването на отделен композитен мениджър е невъзможността за реализиране на независима работа с монитори в PaperWM поради особеностите на GNOME Shell (привързване към глобалните координати на прозорците). Основното отличие на Niri от PaperWM е, че на всяки монитор се привързва собствена лента с прозорци, които не се пресичат помежду си. Niri поддържа HiDPI и може да работи на системи с няколко GPU (например, хибридни системи с дискретна видеокарта и вградена GPU).
Виртуалните работни столове в Niri се създават динамично (както в GNOME) и се разполагат вертикално (лента с прозорци се върти horizontally, а лента с работни столове – вертикално). На всеки монитор може да се визуализира независим набор. виртуални работни桌логове. За превключване между работните пространства могат да се използват управленски жестове на тъчпада. При изключване на монитора подредбата на виртуалните работни пространства се запаметява и пренасочва на оставащия монитор, а при връщането на монитора се възстановява в първоначалното си състояние.
Има вграден интерфейс за създаване на скрийншоти и запис на скринкастове (достъпът се осъществява чрез xdg-desktop-portal-gnome). За стартиране на приложения X11 е предвидена възможност за използване на DDX сървъра Xwayland. Настройките се извършват чрез файл с конфигурация, който позволява промяна на основните параметри на средата, като ширина на рамките, отстъпи, режим на изход и размери на прозорците. Промените в конфигурацията се прилагат в движение без рестартиране на композитния. сървър.



Източник: opennet.ru
