След три месеца разработка, беше публикувано изданието на композитния сървър Niri 25.11, реализиращо метода на мозайчно (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 се разполагат вертикално (лента от прозорци се върти хоризонтално, а лентата на работните маси – вертикално). На всеки монитор може да се показва независим набор виртуални работни площи. За преминаване между работните маси и прозорците могат да се използват управляващи жестове на тъчпада. При отключване на монитора, разположението на виртуалните работни маси се запаметява и прехвърля на останалия монитор, а при връщане на монитора, се възстановява в първоначалното си състояние. Настройката се извършва чрез конфигурационния файл, позволяващ промяна на такива параметри, като ширина на рамките, отстъпки, изходни режими и размери на прозорците. Внесените в конфигурационния файл промени се прилагат автоматично без презареждане на композитния сървър.

В новата версия:
- Добавен е интерфейс за превключване между прозорците с Alt+Tab, показващ миниатюри по време на превъртане на прозорците. Възможно е показване на прозорците в зависимост от текущия виртуален работен плот (клавишата «w») или устройството за изход (клавишата «o»). Също така е налична комбинацията клавиши Alt+»`» за превключване между прозорците на текущото приложение.

- Добавени са анимационни ефекти при преминаване в цял екран и излизане от него.
- Реализирана е пълна поддръжка за разширение на прозорците в цял екран (по-рано се поддържаше разширение на прозореца до пълната ширина с запазване на отстъпите и рамките, а сега се поддържа разширение за заемане на цялата налична площ без показване на рамките). Разширението се извършва при натискане на съответния бутон в горната част на прозореца или при двойно щракване с мишката върху заглавието.

- Добавена е възможност за генериране на събития за превъртане на съдържанието при извършване на хоризонтално влачене на мишката на заглавието на прозореца в мозайчното подреждане (вертикалното влачене води до преместиране на прозореца, а хоризонталното — до превъртане на информацията в прозореца).
- Предоставена е възможност за определяне на отделни конфигурации на разположението на прозорците, свързани с определено устройство за изход (монитор) или виртуален работен плот.
- В конфигурационните файлове е реализирана директива «include» за включване на съдържание от други файлове.
- Добавена е поддръжка за външни монитори, свързани чрез порта DisplayLink.
- Направени са корекции, намаляващи трептенето на екрана.
- Добавена е поддръжка за задаване на собствени видео режими за изходни устройства, които не са ограничени от режимите, предоставени чрез EDID. Например, ‘mode custom=true «1920×1080@100″‘.
- Добавена поддръжка за стартиране на графична сесия niri в WSL (Windows Subsystem for Linux).
Източник: opennet.ru


