La compagnia System76, che sviluppa la distribuzione Linux Pop!_OS, ha pubblicato il rilascio dell'ambiente desktop COSMIC 1.1.0. I pacchetti con COSMIC 1.1.0 sono disponibili nella distribuzione Pop!_OS 24.04 e verranno presto rilasciati anche per Fedora, NixOS, Arch Linux, openSUSE, Aeyrin OS, Redox e CachyOS. Il codice è scritto in Rust e distribuito sotto le licenze GPLv3 (applicazioni) e MPL-2.0 (librerie).
COSMIC si sviluppa come progetto universale, non legato a una distribuzione specifica e conforme alle specifiche Freedesktop.
Per costruire l'interfaccia in COSMIC viene utilizzata la libreria Iced, che sfrutta tipi sicuri, architettura modulare e modello di programmazione reattiva, oltre a offrire un'architettura familiare per gli sviluppatori che conoscono il linguaggio di costruzione dichiarativa delle interfacce Elm. Sono forniti diversi motori di rendering che supportano Vulkan, Metal, DX12, OpenGL 2.1+ e OpenGL ES 2.0+. Agli sviluppatori viene offerto un set di widget pronti all'uso, la possibilità di creare gestori asincroni e di utilizzare un layout adattivo degli elementi dell'interfaccia in base alle dimensioni della finestra e dello schermo.
Oltre all'uso del linguaggio Rust, tra le caratteristiche di COSMIC si evidenziano le modalità di composizione ibrida a mosaico delle finestre e il bloccaggio a stack delle finestre (raggruppamento delle finestre in modo simile alle schede di un browser), che possono essere attivate in relazione ai desktop virtuali. Il progetto sta anche sviluppando un compositor server cosmic-comp basato su Wayland.
Le principali modifiche rispetto alla versione 1.0.0:
- È stato incluso l'applicativo cosmic-monitor per ottenere informazioni sul sistema, visualizzare l'elenco dei processi in esecuzione e monitorare visivamente l'utilizzo delle risorse.
- Nel composito server È stata aggiunta la possibilità di assegnare nomi ai desktop virtuali ancorati. È stata introdotta la supporto per utilizzare più finestre a schermo intero su un desktop (necessario per avviare giochi in modalità Big Picture su Steam). È stata implementata una funzionalità di zoom fluido con la rotellina del mouse. È stata aggiunta la possibilità di impostare un timeout per la scomparsa automatica del cursore.
- È stata implementata la supporto per l'angolo arrotondato per tutte le finestre, non solo per le applicazioni COSMIC. È stata aggiunta la possibilità di visualizzare le ombre per le finestre, anche con layout a mosaico. Per scegliere il tipo di angoli e ombre delle finestre, nella configurazione dell'aspetto è stata aggiunta la sezione "Settings > Desktop > Appearance > Window shadow and corners".
- È stata realizzata l'attivazione delle finestre da parte dei client X11 che operano tramite XWayland, consentendo agli indicatori nella tray di sistema di spostare il focus su finestre in altri desktop virtuali. La dimensione delle icone per le applicazioni X11 è stata adattata al livello di zoom impostato. È stata perfezionata l'apertura di applicazioni X11 a schermo intero all'interno di finestre galleggianti o a mosaico. È stata aggiunta l'opzione "—no-xwayland" per avviare senza Xwayland.
- Nell'applet di gestione dell'alimentazione è stata aggiunta l'opzione per mostrare il livello di carica della batteria in percentuale.
- Sono stati implementati i protocolli Wayland: pointer-warp-v1 per il posizionamento istantaneo del cursore in una posizione specificata e pointer-constraints per vincolare i puntatori (blocco).
- Nel file manager, nel terminale e nell'editor di testo è stata implementata la riorganizzazione delle schede con il mouse in modalità drag&drop.
- Nel cosmic-launcher ora vengono visualizzate come preferite le icone delle applicazioni nel formato SVG.
- È stata separata la funzionalità legata a systemd e logind, permettendo così di gestire l'apertura o la chiusura del coperchio del laptop su sistemi senza systemd, ad esempio utilizzando OpenRC con elogind.
- È stata aggiunta un'associazione di file per chiamare l'editor cosmic-edit in caso di apertura di file vuoti corrispondenti al tipo MIME application/x-zerosize.
- Nell'applicazione per la cattura dello schermo è stato assicurato il ricordo dell'area selezionata dello schermo.
- Nel servizio di installazione degli sfondi desktop cosmic-bg è stata implementata la scansione ricorsiva delle immagini nelle cartelle specificate dall'utente.
- Nel file manager è stata implementata l'anteprima dei file testuali. Invece dei simboli unicode, sono state utilizzate icone separate per le modalità di ordinamento. È stato migliorato il trattamento dei tipi MIME. È stata aggiunta la navigazione nei file tramite i tasti Page-Up e Page-Down. È stata concessa la possibilità di aggiungere al menu contestuale le azioni definite dall'utente. È stata aggiunta la ricerca nell'elenco dei file recentemente aperti e nel cestino. È stata aggiunta un'opzione per copiare il percorso del file premendo Shift.
È stata aggiunta la possibilità di incollare immagini, video e testo da clipboard per i file. È stata introdotta la funzione per aprire più cartelle in schede separate. È stata aggiunta un'opzione per mantenere la data di creazione e modifica del file durante la copia. È stata implementata la possibilità di inserire percorsi di rete nella barra. È stata aggiunta l'auto-completamento del percorso nella barra premendo il tasto Tab o Shift-Tab. È stata aggiunta una finestra di conferma per l'operazione di svuotamento del cestino.
- Sono stati migrati al'interazione tra processi tramite API Varlink cosmic-settings-daemon, cosmic-settings, sound applet e cosmic-osd.
- È stata aumentata la fluidità della scomparsa automatica della barra.
- Nel configuratore cosmic-settings è stata implementata una finestra di dialogo per l'accoppiamento con tastiere Bluetooth tramite codice PIN. Sono state aggiunte opzioni per la gestione del passaggio del focus di input. È stato implementato il supporto per la gestione della luminosità dei monitor esterni. È stata aggiunta un'opzione per disabilitare il passaggio automatico. desktop virtuali quando si sposta il cursore oltre i limiti dello schermo. È stata aggiunta una funzione per la ricerca nell'elenco delle reti wireless disponibili. È stata implementata la possibilità di assegnare layout di tastiera personalizzati.
È stata implementata una funzione di attivazione rapida della ricerca: l'inizio della digitazione sulla tastiera ora provoca l'apertura della barra di ricerca in qualsiasi sezione del configuratore. È stata aggiunta la possibilità di applicare temi in formato RON (Rusty Object Notation) tramite l'interfaccia della riga di comando. È stata aggiunta una sezione nella pagina di configurazione delle combinazioni di tasti con parametri per persone con disabilità. È stata aggiunta la combinazione Super+Alt+S per attivare il lettore dello schermo. È stata abilitata di default la simulazione del clic tramite il touchpad. È stato aggiunto il supporto VPN-connessioni che richiedono l'autenticazione a due fattori.
- Nell'applet App-List è stato aggiunto il supporto per filtrare le applicazioni visualizzate in base ai desktop o ai monitor. È stata implementata la possibilità di chiudere le applicazioni con un clic del pulsante centrale del mouse.
- Nell'interfaccia di cambio tra desktop virtuali è stata implementata la scorrimento circolare utilizzando la rotella del mouse, simile al comportamento dell'applet di cambio dei desktop nella barra. È stata migliorata la velocità di scorrimento delle miniature dei desktop utilizzando il touchpad.
È stata aggiunta l'attivazione automatica della ricerca delle applicazioni all'inizio della digitazione. - È stato aggiunto il supporto per l'utilizzo del gestore di sistema OpenRC per gestire i servizi relativi al Bluetooth.
- È consentita la modifica della luminosità, del volume e del layout della tastiera tramite scorciatoie da tastiera durante il blocco dello schermo.
- Nel cosmic-settings-daemon è stata implementata la generazione di temi per le applicazioni Qt utilizzando gli strumenti qt5ct e qt6ct.
- Nel lettore multimediale cosmic-player sono state implementate impostazioni per gestire la velocità di riproduzione e sono stati aggiunti pulsanti per la ripetizione/looping e per il riavvolgimento rapido/avanzamento rapido. È stata garantita la disattivazione dell'audio durante la visualizzazione delle miniature con l'immagine del fotogramma corrispondente alla posizione selezionata sulla barra di scorrimento.

- Nel gestore di applicazioni cosmic-store è stato aggiunto il backend rpm-ostree e il backend per il download dei pacchetti in più thread. È stato implementato il supporto per l'apertura di pacchetti in formato RPM. È stata aggiunta un'opzione per pulire i dati delle applicazioni Flatpak dopo la loro eliminazione.
- Nell'interfaccia di configurazione iniziale (COSMIC Initial Setup) è stata aggiunta la supporto per sistemi con più monitor e attivato di default il lettore di schermo.
- Nell'emulatore di terminale cosmic-term è stata introdotta l'opzione per aprire una nuova finestra nella directory corrente. La dimensione della cronologia del contenuto scorrevole è aumentata a 100.000 righe. È stata aggiunta l'opzione «—working-diretory». Nel menu contestuale è stato aggiunto un pulsante per copiare il link. È stata implementata la memorizzazione delle password solo all'apertura della pagina di gestione delle password e la rimozione delle password dalla memoria alla sua chiusura. È stato aggiunto il supporto per la selezione del contenuto cliccando mentre si tiene premuto il tasto Shift.
- Nella libreria libcosmic, utilizzata in molte applicazioni,
è stata aggiunta la possibilità di assegnare combinazioni di tasti per layout di tastiera non latini. - Nella cosmic-app-library è stato incluso wgpu e implementato il supporto per le icone ico e xpm.
- È stato consentito l'uso del markup HTML nelle notifiche visualizzate.
- Per attivare VPN, modalità aereo e agenti di gestione delle chiavi è stato utilizzato il pacchetto nmrs (involucro Rust sopra NetworkManager).
- Nella libreria delle applicazioni (cosmic-app-library) è stata consentita la riorganizzazione tramite il trascinamento degli elementi con il mouse.
- È stata attivata una nuova versione della libreria iced con ottimizzazioni delle prestazioni, animazioni migliorate e supporto per i metodi di input.


Fonte: opennet.ru

