Niri: En Wayland-kompositör med rullande brickor skriven i Rust

Niri

Niri är en Wayland-kompositör med rullningsbara brickor

Det tillkännagavs nyligen release av den första versionen av «Niri» som är placerad som en Wayland kompositör som erbjuder en unik upplevelse genom att arrangera fönster i kakel rörlig. Dess design fokuserar på att tillhandahålla ett effektivt arrangemang av fönster och arbetsytor på individuella bildskärmar, vilket ger en flytande och organiserad upplevelse för användarna.

Projektet är inspirerad av tillägget GNOME PaperWM och implementerar en plattsättningsmetod där fönster är grupperade i ett band som rullar oändligt på skärmen. Att öppna ett nytt fönster gör att bandet expanderar, medan tidigare tillagda fönster aldrig ändrar storlek.

Om Niri

Anledningen för att skapa en separat sammansatt hanterare är oförmågan att implementera ett separat jobb med monitorer i PaperWM på grund av egenheter i GNOME-skalet (bindande till fönstrets globala koordinater). Den huvudsakliga skillnaden mellan Niri och PaperWM är att varje bildskärm har sitt eget fönsterband som inte korsar varandra. Niri stöder HiDPI och kan köras på multi-GPU-system (t.ex. hybridsystem med ett diskret grafikkort och en integrerad GPU).

Funktioner:

  • Scrollbar mosaik: Fönstren är ordnade i kolumner i en oändlig remsa som sträcker sig åt höger. Att öppna ett nytt fönster ändrar inte storleken på befintliga.
  • Dynamiska arbetsytor: Arbetsytor är organiserade vertikalt och är dynamiska, vilket möjliggör effektiv hantering liknande GNOME.
  • Inbyggt gränssnitt för skärmdump– Niri har ett inbyggt skärmdumpsgränssnitt, vilket gör det enkelt att ta bilder snabbt och enkelt.
  • Övervakning av screencasting: Genom xdg-desktop-portal-gnome tillåter Niri screencasting med lätthet.
  • Pekplatta gester: Pekplattagester ingår för att växla mellan arbetsytor, vilket förbättrar tillgängligheten och användarupplevelsen.
  • Konfigurerbar layout: Användare kan anpassa olika aspekter av layouten, inklusive avstånd, kanter, stöttor och fönsterstorlekar, för att passa deras individuella preferenser.
  • Inställningar för liveladdning- Niri tillåter live omladdningsinställningar, vilket innebär att ändringar som görs tillämpas omedelbart utan att behöva starta om.

Niri berättar med stöd för kontrollgester på pekpanelen för att växla mellan stationära datorer. När monitorn stängs av kommer den virtuella skrivbordslayouten ihåg och överförs till den återstående monitorn, och när monitorn återställs återställs den till sitt ursprungliga tillstånd.

La Miljöanpassning uppnås genom en konfigurationsfil Det låter dig justera grundläggande parametrar som rambredd, utfyllnad, utdatalägen och fönsterstorlekar och ändringar som görs i inställningarna tillämpas dynamiskt, utan att behöva starta om den sammansatta servern.

För en del av ändringarna sedan v0.1.0-beta.1, Följande korrigeringar och förbättringar har implementerats i Niri:

  1. Fixat live-omladdning av konfigurationen på NixOS, vilket möjliggjorde ändringar av konfigurationsfilens symboliska länk samtidigt som mtime hölls konstant.
  2. Fixade de flesta fall där Niri inte skulle slå på bildskärmar efter en TTY-ändring.
  3. Fixat problem med att xdg-desktop-portal-gnome inte uppdaterade listan över screencast-skärmar när du kopplade från/återansluter monitorn, på grund av att Niri inte meddelade dig om ändringarna.
  4. Fixade problem med att stora fönster med stora CSD-skuggor klipptes av i skärmdumpar och skärmsändningar.
  5. Fixade ändringar av utgångsinställningar som ignoreras om de gjordes på en annan TTY.
  6. Fixade popup-fönster som inte visas när en IME är aktiv, med en lösning som inaktiverar fånga popup-fönster när en IME är aktiv.
  7. Något förbättrad markörrenderingsprestanda genom att undvika CPU->GPU->CPU-överföringar.
  8. Fixade gränssnittet för skärmdump som inte visades om markören hamnade utanför alla bildskärmar.

Äntligen för de som är intresserade av projektet, Du bör veta att projektkoden är skriven i Rust och distribueras under GPLv3-licensen. Du kan hitta installationsinstruktioner, samt mer information om att använda Niri genom kortkommandon I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.