System76 (Pop!_OS Linux-distributionsselskabet) udgav for nylig en rapport om udviklingen af et nyt COSMIC brugermiljø skrevet i Rust. Miljøet udvikles som et universelt projekt, der ikke er bundet til en specifik distribution og er i overensstemmelse med Freedesktop-specifikationerne.
Projektet også udvikler Wayland-baseret cosmic-comp composite server og at der derudover leveres flere gengivelsesmotorer, der er kompatible med Vulkan, Metal, DX12, OpenGL 2.1+ og OpenGL ES 2.0+, samt en vinduesskal og en webintegrationsmotor.
Om projektet nævnes det, at for at bygge en grænseflade, COSMIC bruger Iced-biblioteket, som bruger en modulær arkitektur med typesikkerheds- og reaktive programmeringsmodeller, og tilbyder også en arkitektur, der er kendt for udviklere, der er fortrolige med Elm, et deklarativt grænsefladekonstruktionssprog.
Du skal huske det System76 valgte at foretage ændringen af GTK og Iced, siden under de test, der blev udført flere COSMIC applets blev forberedt, skrevet samtidigt i GTK og Iced at sammenligne teknologier. De udførte tests har vist, at sammenlignet med GTK giver Iced-biblioteket en mere fleksibel, udtryksfuld og forståelig API, parrer naturligt med Rust-kode og tilbyder en velkendt arkitektur for udviklere, der er fortrolige med Elm-deklarative grænsefladekonstruktionssprog.
Bibliotek Iced er skrevet udelukkende på Rust-sproget., bruger sikre typer, en modulær arkitektur og en reaktiv programmeringsmodel.
Applikationer baseret på Iced kan oprettes til Windows, macOS, Linux og køre i en webbrowser. Udviklere tilbydes et sæt klar-til-brug widgets, muligheden for at skabe asynkrone controllere og bruge det adaptive layout af interface-elementer afhængigt af størrelsen på vinduet og skærmen.
Af seneste resultater i udviklingen af COSMIC:
- Implementeret understøttelse af segmenterede faner og knapper baseret på SegmentedButton-widgetten, så du kan udføre en handling med det samme, når den er valgt.
- El configurator giver en søgegrænseflade med en kontinuerlig liste over rullende resultater.
- Implementeret muligheden for at vælge strømstyringsprofiler og vise batteriopladningen af trådløse enheder.
- Tilføjet en interface til at konfigurere skærmindstillingera, der understøtter skift af grafiktilstande, ændring af lysstyrke efter en tidsplan (nattilstand) og styring af skrivebordslayout, når flere skærme er tilsluttet.
- Tilføjet interface til at konfigurere sprog, formater og måleenheder.
- Tilføjet en grænseflade til lydindstillinger som giver dig mulighed for at ændre mængden af notifikationer i forhold til applikationer og teste udvalgte parametre, herunder konfigurationer med en subwoofer. Til højttalertest kan brugere med mere end to højttalere i deres system teste alle højttalere og deres subwoofer på én gang med et enkelt klik.
- Muligheden for at vælge en fælles baggrund, forskellige baggrunde til hver skærm eller et sæt baggrunde til cyklisk ændring er tilvejebragt (forsinkelsen er indstillet i indstillingerne).
- Den iced -dyrend dynamiske gengivelsesmekanisme er blevet tilføjet til Iced-værktøjssættet, hvilket indebærer muligheden for at vælge forskellige backends afhængigt af miljøet (f.eks. kan du bruge OpenGL, Vulkan eller softwaregengivelse baseret på Softbuffer-biblioteket).
- Opdaterede Softbuffer-implementeringen af softwaregengivelsesmotoren, som nu kan bruges til at gengive widgets leveret af libcosmic-biblioteket.
- Brugermiljøet er designet til at fungere under kontrol af skærmservere baseret på Wayland-protokollen. For at understøtte udgivelsen af X11-applikationer er understøttelse af XWayland DDX-serveren integreret i den sammensatte cosmic-comp-server.
- Cosmic Time-biblioteket er blevet forberedt, som giver dig mulighed for at bruge animerede effekter i Iced-baserede applikationer.
Endelig, hvis du er interesseret i at vide mere om det, kan du se detaljerne I det følgende link.