L'azienda System76, che sviluppa la distribuzione Linux Pop!_OS, ha rilasciato la versione 1.10.0 dell'ambiente desktop COSMIC. I pacchetti con COSMIC 1.11.0 sono disponibili nella distribuzione Pop!_OS 24.04 e arriveranno a breve su Fedora, NixOS, Arch Linux, openSUSE, aerynOS, Redox e CachyOS. Il codice è scritto in Rust e viene 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.
Tra le modifiche:
- In libcosmic è stata interrotta l'intercettazione della pressione del tasto Escape durante l'elaborazione dell'input testuale, risolvendo i problemi di chiusura di alcuni menu premendo Escape.
- Nella libreria delle applicazioni (cosmic-app-library) è stata implementata la navigazione al primo applicativo nei risultati di ricerca premendo il tasto giù. Nei sistemi con grafica ibrida, è stato garantito il corretto utilizzo della GPU durante il lancio dei giochi.
- Nel composito server (cosmic-comp) è stata implementata la compatibilità con il protocollo Wayland "xdg-dialog-v1", che consente di creare finestre di dialogo modali che bloccano l'interazione dell'utente con il resto dell'interfaccia. È stata implementata l'invio di un comando per attivare la tastiera su schermo tramite un segnale D-Bus separato.
- È stata aggiunta l'associazione per aprire l'editor di testo Cosmic-edit per i file JSON.
- Nel configuratore (cosmic-settings) sono state aggiunte opzioni per il trascinamento di un oggetto con un doppio tocco sul touchpad (tap&drag) e una modalità che consente di sollevare il dito dal touchpad per un momento senza interrompere il processo di trascinamento.
- Nell'interfaccia di avvio delle applicazioni è stata attivata la ricerca senza distinzione tra maiuscole e minuscole e migliorata la ricerca di singole parole tra parentesi. È stato realizzato il corretto riconoscimento della GPU nei sistemi con grafica ibrida.

Fonte: opennet.ru
