Firma System76, która opracowuje dystrybucję Linuksa Pop!_OS, opublikowała wydanie środowiska graficznego COSMIC 1.10.0. Pakiety COSMIC 1.10.0 są dostępne w dystrybucji Pop!_OS 24.04 i wkrótce będą dostępne w Fedora, NixOS, Arch Linux, openSUSE, Aeyrin OS, Redox oraz CachyOS. Kod został napisany w języku Rust i jest dystrybuowany na licencjach GPLv3 (aplikacje) oraz MPL-2.0 (biblioteki).
COSMIC rozwija się jako uniwersalny projekt, niezwiązany z konkretną dystrybucją i zgodny ze specyfikacjami Freedesktop.
Do budowy interfejsu w COSMIC wykorzystano bibliotekę Iced, która korzysta z bezpiecznych typów, modułowej architektury i modelu programowania reaktywnego, a także oferuje architekturę, znaną programistom zaznajomionym z językiem deklaratywnego budowania interfejsów Elm. Oferowane są różne silniki renderujące, wspierające Vulkan, Metal, DX12, OpenGL 2.1+ oraz OpenGL ES 2.0+. Programiści mają do dyspozycji gotowy zestaw widgetów, możliwość tworzenia asynchronicznych procesorów oraz wykorzystania adaptacyjnego układu elementów interfejsu w zależności od rozmiaru okna i ekranu.
Oprócz wykorzystania języka Rust, szczególną cechą COSMIC są tryby hybrydowego mozaikowego układu okien oraz statycznego mocowania okien (grupowanie okien w podobny sposób jak zakładki w przeglądarkach), które można włączać w związku z wirtualnymi pulpitami. Projekt ten rozwija również kompozytowy. serwer cosmic-comp opartego na Wayland.
Wśród zmian:
- Dodano możliwość identyfikacji tabletów graficznych z określonym wyświetlaczem.

- W kompozycie serwerze W cosmic-comp zaimplementowano wsparcie dla przenoszenia fokusu na okna na podstawie zdarzeń z ekranu dotykowego. System kompilacji został przeniesiony z make na narzędzie just. Rozwiązano problem z działaniem panelu i wirtualnych pulpitów na systemach z hybrydową grafiką, łączącą karty graficzne NVIDIA z zintegrowanymi GPU.
- W cosmic-launcher, aby zwiększyć wydajność renderowania, domyślnie wykorzystano API WGPU działające na Vulkanie, Metal, D3D12 oraz OpenGL.
- W cosmic-monitor podzielono wyszukiwanie procesów i aplikacji.
- W cosmic-player wyłączono automatyczne ukrywanie elementów interfejsu, gdy wskaźnik myszy jest na przyciskach sterowania odtwarzaniem.
- W cosmic-session dodano wsparcie dla definiowania zmiennych środowiskowych w podkatalogu ~/.config/environment.d oraz umożliwiono użycie własnych agentów SSH.
- W katalogu aplikacji cosmic-store zaimplementowano lokalne buforowanie zrzutów ekranu oraz zaproponowano tryb galerii, aktywowany kliknięciem na zrzutach ekranu.
- W emulatorze terminala cosmic-term dodano skróty klawiszowe
„Ctrl+Shift+lewy strzałka” i „Ctrl+Shift;prawy strzałka” do przesuwania kart w lewo i w prawo.

Źródło: opennet.ru

