Opublikowano wersję serwera kompozytowego Niri 0.1.10, który wdraża metodę układu mozaikowego (tiling) w stylu rozszerzenia GNOME PaperWM, w którym okna są grupowane w nieskończoną przewijaną taśmę na ekranie. Otworzenie nowego okna powoduje rozszerzenie taśmy, a wcześniej dodane okna nie zmieniają swojego rozmiaru. Projekt bazuje na protokole Wayland, ale umożliwia uruchamianie aplikacji X11 za pomocą serwera DDX Xwayland. Kod projektu jest udostępniany na licencji GPLv3. Pakiety są formowane dla Fedora, NixOS, Arch Linux i FreeBSD.
W podstawowej różnicy Niri od PaperWM jest przypisanie do każdego monitora własnej taśmy okien, która nie koliduje z taśmami na innych monitorach (w PaperWM oddzielna praca z monitorami nie może być zrealizowana z powodu powiązania z globalnymi współrzędnymi okien w GNOME Shell). Niri wspiera HiDPI i może działać na systemach z wieloma GPU (na przykład w hybrydowych systemach z dedykowaną kartą graficzną i zintegrowanym GPU). Zawiera 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.
Wirtualne pulpity w Niri tworzone są dynamicznie i analogicznie do GNOME umieszczane są 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ów. Aby przełączać się między pulpitami i oknami, można używać gestów sterujących na touchpadzie. Po odłączeniu monitora układ wirtualnych pulpitów jest zapamiętywany i przenoszony na pozostały monitor, a po ponownym podłączeniu monitora przywracany jest do pierwotnego stanu. Konfiguracja odbywa się za pomocą pliku konfiguracyjnego, który pozwala na zmianę takich parametrów jak szerokość ramek, marginesy, tryby wyjścia i rozmiary okien. Wprowadzone w pliku konfiguracyjnym zmiany są stosowane automatycznie bez potrzeby ponownego uruchamiania kompozytowego. serwera.

W nowej wersji:
- Dodano tryb interaktywnego przesuwania okien, który pozwala na przeciąganie okna w nowe miejsce, trzymając nagłówek okna myszą lub dotykiem na ekranie dotykowym. Aby zapobiec przypadkowemu zmianie układu podczas rozpoczynania przesuwania, należy pokonać określony próg oporu odłączenia od bieżącej pozycji.
- Dodano możliwość przypisania poleceń do zdarzeń otwierania lub zamykania pokrywy laptopa lub przełączania laptopa w tryb tabletu. Na przykład, po przełączeniu w tryb tabletu można automatycznie aktywować użycie klawiatury ekranowej. Dodano również możliwość automatycznego przenoszenia wirtualnych pulpitów na zewnętrzny monitor (jeśli jest podłączony) po zamknięciu pokrywy laptopa.
- Dodano obsługę zapytania set_cursor_position_hint. Jeśli pozycja kursora jest zablokowana w trybie lock_pointer, dodane zapytanie umożliwia aplikacji przekazanie menedżerowi kompozytów informacji o końcowej pozycji kursora po jego przemieszczeniu.
- Dodano opcje do ukrywania kursora podczas pisania lub po określonym czasie nieaktywności.
- Dodano nowe ustawienia urządzeń wejściowych, na przykład sekcję z parametrami trackballa i opcje przewijania za pomocą myszki lub touchpada.
- Zapewniono zachowanie informacji o aktywnym wirtualnym pulpicie po ponownym podłączeniu monitora.
- Dodano działanie „power-on-monitors” do zarządzania wyjściem monitora z trybu uśpienia (domyślnie monitor jest automatycznie aktywowany po każdym zdarzeniu wejściowym).
- Dodano plik do uruchamiania niri pod zarządzaniem menedżera usług dinit.
Źródło: opennet.ru
