L'ambiente utente COSMIC sviluppa un nuovo pannello scritto in Rust

L'azienda System76, che sviluppa la distribuzione Linux Pop!_OS, ha pubblicato un rapporto sullo sviluppo di una nuova edizione dell'ambiente utente COSMIC, riscritto nel linguaggio Rust (da non confondere con il vecchio COSMIC, che era basato su GNOME Conchiglia). L'ambiente viene sviluppato come un progetto universale, non legato a una distribuzione specifica e conforme alle specifiche Freedesktop. Il progetto sta inoltre sviluppando un server composito, cosmic-comp, basato su Wayland.

Per costruire l'interfaccia, COSMIC utilizza la libreria Iced, che utilizza tipi sicuri, architettura modulare e un modello di programmazione reattivo, e offre anche un'architettura familiare agli sviluppatori che hanno familiarità con il linguaggio dichiarativo di costruzione dell'interfaccia Elm. Vengono forniti diversi motori di rendering che supportano Vulkan, Metal, DX12, OpenGL 2.1+ e OpenGL ES 2.0+, nonché una shell di finestre e un motore di integrazione web. Le applicazioni basate su Iced possono essere create per Windows, macOS, Linux ed eseguite in un browser web. Agli sviluppatori viene offerto un set già pronto di widget, la possibilità di creare gestori asincroni e utilizzare il layout adattivo degli elementi dell'interfaccia a seconda delle dimensioni della finestra e dello schermo. Il codice è distribuito sotto la licenza MIT.

L'ambiente utente COSMIC sviluppa un nuovo pannello scritto in Rust

I recenti progressi nello sviluppo COSMIC includono:

  • È stato proposto un nuovo pannello che visualizza un elenco di finestre attive, scorciatoie per un rapido accesso alle applicazioni e supporta il posizionamento di applet (applicazioni integrate eseguite in processi separati). Ad esempio, le applet forniscono un menu dell'applicazione, un'interfaccia per passare da un desktop all'altro e indicatori per modificare il layout della tastiera, controllare la riproduzione di file multimediali, modificare il volume, controllare Wi-Fi e Bluetooth, visualizzare un elenco di notifiche accumulate, visualizzare l'ora e richiamare la schermata di spegnimento. È prevista l'implementazione di applet con previsioni del tempo, note, gestione degli appunti e l'implementazione di menu personalizzati.
    L'ambiente utente COSMIC sviluppa un nuovo pannello scritto in Rust

    Il pannello può essere diviso in parti, ad esempio la parte superiore con menu e indicatori e la parte inferiore con un elenco di attività attive e scorciatoie. Parti del pannello possono essere posizionate sia verticalmente che orizzontalmente, occupare l'intera larghezza dello schermo o solo un'area selezionata, utilizzare la trasparenza, modificare lo stile a seconda della scelta del design chiaro e scuro.

    L'ambiente utente COSMIC sviluppa un nuovo pannello scritto in Rust

  • È stato pubblicato il servizio di ottimizzazione automatica System76 Scheduler 2.0 che regola dinamicamente i parametri del task scheduler CFS (Completely Fair Scheduler) e modifica le priorità di esecuzione del processo per ridurre i ritardi e garantire la massima prestazione del processo associato alla finestra attiva con cui l'utente sta attualmente lavorando. La nuova versione include l'integrazione con il media server Pipewire per aumentare la priorità dei processi che producono contenuti multimediali; è stato effettuato il passaggio a un nuovo formato di file di configurazione, in cui è possibile definire le proprie regole e gestire l'utilizzo di varie modalità di ottimizzazione; fornita la possibilità di applicare le impostazioni tenendo conto dello stato dei cgroup e dei processi principali; Il consumo di risorse nel processo principale dello Scheduler è stato ridotto di circa il 75%.
  • È disponibile un'implementazione del configuratore preparata utilizzando la nuova libreria di widget. La prima versione del configuratore offre le impostazioni per il pannello, la tastiera e lo sfondo del desktop. In futuro, il numero di pagine con le impostazioni verrà aumentato. Il configuratore ha un'architettura modulare che consente di collegare facilmente pagine aggiuntive con le impostazioni.
    L'ambiente utente COSMIC sviluppa un nuovo pannello scritto in Rust
  • Sono in corso i preparativi per integrare il supporto per display HDR (High Dynamic Range) e controlli del colore (ad esempio, è previsto l'aggiunta del supporto per i profili colore ICC). Lo sviluppo è ancora nelle fasi iniziali ed è in sincronia con il lavoro complessivo per portare il supporto HDR e gli strumenti di gestione del colore su Linux.
  • Aggiunto il supporto per l'output a colori a 10 bit per canale sul server composito cosmic-comp.
  • La libreria Iced GUI sta lavorando per supportare gli strumenti per le persone con disabilità. È stata effettuata l'integrazione sperimentale con la libreria AccessKit ed è stata aggiunta la possibilità di utilizzare gli screen reader Orca.

Fonte: opennet.ru

Aggiungi un commento