Opublikowano wydanie kompozytowego serwera Niri 0.1.5, rozwijanego pod wpływem rozszerzenia GNOME PaperWM, który realizuje metodę mozaikowego (tiling) układania okien, w której okna grupowane są w nieskończoną przewijaną taśmę na ekranie. Otwieranie nowego okna prowadzi do rozszerzenia taśmy, a wcześniej dodane okna nigdy nie zmieniają swojego rozmiaru. Kod projektu jest udostępniany na licencji GPLv3. Pakiety są zbudowane dla Fedora, NixOS, Arch Linux i FreeBSD.
Jako przyczynę stworzenia oddzielnego menedżera kompozytów wskazano niemożność realizacji w PaperWM oddzielnej pracy z monitorami z powodu powiązania z globalnymi współrzędnymi okien w GNOME Shell. Zasadniczą różnicą Niri w porównaniu do PaperWM jest powiązanie z każdym monitorem własnej taśmy okien, które nie krzyżują się ze sobą. Niri obsługuje HiDPI i może działać na systemach z wieloma GPU (np. w systemach hybrydowych z dedykowaną kartą graficzną i zintegrowanym GPU).
Podobnie jak w GNOME, w Niri wirtualne pulpity są tworzone dynamicznie i umieszczane pionowo (taśma okien obraca się poziomo, a taśma pulpitów — pionowo). Na każdym monitorze może być wyświetlany niezależny zestaw wirtualnych pulpitówAby przełączać się między pulpitami, można używać gestów sterujących na gładziku. Po odłączeniu monitora układ wirtualnych pulpitów jest zapamiętywany i przenoszony na pozostały monitor, a po powrocie monitora przywracany do pierwotnego stanu.

Niri opiera się na użyciu protokołu Wayland, ale pozwala na uruchamianie aplikacji X11 za pomocą serwera DDX Xwayland. Posiada wbudowany interfejs do tworzenia zrzutów ekranu i nagrywania screencastów, którego cechą jest możliwość wykluczenia z nagrania poszczególnych okien z poufnymi informacjami.
Konfiguracja odbywa się poprzez plik konfiguracyjny, który pozwala na zmianę podstawowych parametrów środowiska, takich jak szerokość ramek, marginesy, tryby wyjścia i rozmiary okien. Zmiany wprowadzone w pliku konfiguracyjnym są stosowane automatycznie bez ponownego uruchamiania serwera kompozytowego. Obsługuje zarządzanie za pomocą gestów na touchpadzie. Zmiany konfiguracji są stosowane w locie bez ponownego uruchamiania serwera kompozytowego.
Nowa wersja wyróżnia się wdrożeniem nowych animowanych efektów przy manipulacji oknami, a także efektów sprężystych (spring animation). Animacja jest teraz stosowana przy przesuwaniu, zmianie rozmiaru i zamykaniu okien. Dla tych, których denerwują animowane efekty, w pliku konfiguracyjnym przewidziano parametr do wyłączania animacji lub dostosowywania każdego efektu do swoich preferencji.
Wśród innych nowości:
- Dodano wsparcie dla wyjścia z zmiennym bitratem (VRR, variable refresh rate).
- Rozszerzono możliwości interfejsu IPC, stosowanego do interakcji zewnętrznych systemów z kompozytem serwerem.
- Dodano parametr allow-when-locked=true do określenia kombinacji klawiszy, które mogą działać podczas zablokowanego ekranu.
- Zapewniono przywracanie wcześniejszej pozycji okna po powrocie z trybu pełnoekranowego.
- Zrealizowano ukrywanie kursora myszy podczas interakcji z ekranem dotykowym.
- Dodano przykład konfiguracji do wyłączania mikrofonu.
Źródło: opennet.ru
