Firma System76, która rozwija dystrybucję Linuksa Pop!_OS, ogłosiła wydanie środowiska graficznego COSMIC 1.1.0. Pakiety COSMIC 1.1.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 i CachyOS. Kod napisany jest w języku Rust i udostępniany na licencjach GPLv3 (aplikacje) i 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.
Główne zmiany w porównaniu do wersji 1.0.0:
- Dodano aplikację cosmic-monitor do uzyskiwania informacji o systemie, przeglądania listy uruchomionych procesów oraz wizualnego śledzenia zużycia zasobów.
- W kompozycie serwerze Dodano wsparcie dla przypisywania nazw do przypiętych wirtualnych pulpitów. Wprowadzono możliwość korzystania z wielu aplikacji w trybie pełnoekranowym na jednym pulpicie (co jest konieczne do uruchamiania gier w trybie Big Picture w Steam). Zrealizowano płynne skalowanie za pomocą rolki myszy. Dodano opcję ustawienia timeoutu dla automatycznego ukrywania kursora.
- Wprowadzono wsparcie dla zaokrąglonych rogów dla wszystkich okien, a nie tylko dla aplikacji COSMIC. Dodano możliwość wyświetlania cieni dla okien, także w kompozycji mozaikowej. Aby wybrać rodzaj rogów i cieni dla okien, w ustawieniach wyglądu dodano sekcję „Ustawienia > Pulpit > Wygląd > Cienie i rogi okien”.
- Wydano wsparcie dla aktywacji okien przez klientów X11 działających przez XWayland, co umożliwia ikonom w systemowym zasobniku przełączanie fokusu na okna w innych wirtualnych pulpitach. Rozmiar ikon dla aplikacji X11 został dostosowany do ustawionego poziomu powiększenia. Ustawiono również otwieranie aplikacji X11 w trybie pełnoekranowym wewnątrz okien pływających lub mozaikowych. Dodano opcję „—no-xwayland” do uruchamiania bez Xwayland.
- W aplecie zarządzania zasilaniem dodano opcję wyświetlania poziomu naładowania akumulatora w procentach.
- Zrealizowano protokoły Wayland: pointer-warp-v1 dla natychmiastowego przenoszenia wskaźnika w podaną pozycję oraz pointer-constraints dla ograniczenia wskaźników (blokady).
- W menedżerze plików, emulatorze terminala i edytorze tekstu zrealizowano reorganizację kart myszą w trybie przeciągnij i upuść.
- W cosmic-launcher preferowane są teraz ikony aplikacji w formacie SVG.
- Funkcjonalność związana z systemd i logind została podzielona, co umożliwiło obsługę otwierania lub zamykania pokrywy laptopa w systemach bez systemd, na przykład przy użyciu OpenRC z elogind.
- Dodano skojarzenie plików do uruchamiania edytora cosmic-edit przy próbie otwarcia pustych plików odpowiadających typowi MIME application/x-zerosize.
- W programie do tworzenia zrzutów ekranu dodano możliwość zapamiętywania zaznaczonego obszaru ekranu.
- W usłudze ustawiania tapety cosmic-bg zrealizowano rekurencyjne skanowanie obrazów w określonych przez użytkownika katalogach.
- W menedżerze plików wprowadzono podgląd plików tekstowych. Zamiast znaków unicode użyto osobnych ikon trybów sortowania. Udoskonalono obsługę typów MIME. Dodano obsługę nawigacji po plikach za pomocą klawiszy Page-Up i Page-Down. Umożliwiono dodanie do menu kontekstowego działań zdefiniowanych przez użytkownika. Dodano obsługę wyszukiwania w liście ostatnio otwartych plików i w koszu. Wprowadzono opcję kopiowania ścieżki pliku po naciśnięciu Shift.
Dodano obsługę wklejania plików obrazów, wideo i tekstu z schowka. Dodano funkcję otwierania wielu katalogów w osobnych kartach. Wprowadzono opcję przenoszenia czasu utworzenia i modyfikacji pliku podczas kopiowania. Zrealizowano możliwość wprowadzania ścieżek sieciowych w panelu. Dodano autouzupełnianie wprowadzania ścieżki w panelu po naciśnięciu klawisza Tab lub Shift-Tab. Dodano dialog potwierdzenia operacji opróżnienia kosza.
- Kosmiczne demony ustawień, cosmic-settings, aplet dźwięku i cosmic-osd zostały przetłumaczone na międzyprocesowe interakcje przez API Varlink.
- Zwiększono płynność automatycznego ukrywania panelu.
- W konfiguratorze cosmic-settings wprowadzono dialog do parowania z klawiaturą Bluetooth za pomocą kodu PIN. Dodano ustawienia do zarządzania przełączaniem fokusu wejścia. Wprowadzono obsługę zarządzania jasnością zewnętrznych monitorów. Dodano opcję wyłączenia automatycznego przełączania wirtualnych pulpitów przy przesuwaniu kursora poza ekran. Dodano funkcję wyszukiwania na liście dostępnych sieci bezprzewodowych. Umożliwiono przypisywanie niestandardowych układów klawiatury.
Zrealizowano funkcję szybkiej aktywacji wyszukiwania — rozpoczęcie pisania na klawiaturze teraz powoduje pojawienie się paska wyszukiwania w dowolnej sekcji konfiguratora. Dodano możliwość zastosowania motywów w formacie RON (Rusty Object Notation) za pośrednictwem interfejsu wiersza poleceń. Na stronie ustawień kombinacji klawiszy dodano podsekcję z opcjami dla osób z ograniczeniami. Dodano kombinację Super+Alt+S do aktywacji czytnika ekranu. Domyślnie włączono symulację kliknięcia dotknięciem na touchpadzie. Dodano wsparcie VPN-połączeń wymagających uwierzytelniania dwuskładnikowego.
- W aplikacji App-List dodano wsparcie dla filtrowania wyświetlanych aplikacji w kontekście pulpitów lub wyświetlaczy. Zrealizowano możliwość zamykania aplikacji kliknięciem środkowego przycisku myszy.
- W interfejsie przełączania między wirtualnymi pulpitami wdrożono cykliczne przewijanie przy użyciu kółka myszy, podobne do zachowania aplikacji przełączania pulpitów na pasku. Ulepszono prędkość przewijania miniaturek pulpitów za pomocą touchpada.
Dodano automatyczną aktywację wyszukiwania aplikacji po rozpoczęciu pisania tekstu. - Dodano wsparcie dla korzystania z systemowego menedżera OpenRC do zarządzania usługami związanymi z Bluetooth.
- Zezwolono na zmiany jasności, głośności i układu klawiatury za pomocą skrótów klawiszowych podczas blokowania ekranu.
- W cosmic-settings-daemon wdrożono generację motywów dla aplikacji Qt za pomocą narzędzi qt5ct i qt6ct.
- W odtwarzaczu multimedialnym cosmic-player wdrożono ustawienia do zarządzania prędkością odtwarzania oraz dodano przyciski do powtarzania/loopowania oraz szybkiego przewijania w przód/w tył. Zabezpieczono wyciszenie dźwięku podczas wyświetlania miniaturek przedstawiających kadr odpowiadający wybranej pozycji na pasku przewijania.

- W menedżerze aplikacji cosmic-store dodano backend rpm-ostree oraz backend do pobierania pakietów w wielu wątkach. Zrealizowano wsparcie dla otwierania pakietów w formacie RPM. Dodano opcję do czyszczenia danych aplikacji Flatpak po ich usunięciu.
- W interfejsie wstępnego ustawienia (COSMIC Initial Setup) dodano wsparcie dla systemów z wieloma monitorami oraz domyślnie aktywowano czytnik ekranu.
- W emulatorze terminala cosmic-term pojawiła się opcja otwierania nowego okna w bieżącym katalogu. Rozmiar historii przewijanego contentu zwiększono do 100 tysięcy wierszy. Dodana opcja „—working-directory”. Do menu kontekstowego dodano przycisk do kopiowania linku. Zaimplementowano ładowanie haseł do pamięci tylko przy otwieraniu strony do zarządzania hasłami oraz usuwanie haseł z pamięci przy jej zamykaniu. Dodano wsparcie dla zaznaczania treści przez kliknięcie z wciśniętym klawiszem Shift.
- W bibliotece libcosmic, używanej w wielu aplikacjach,
dodano możliwość przypisywania kombinacji klawiszy dla nielatynowych układów klawiatury. - W cosmic-app-library włączono wgpu i zaimplementowano wsparcie dla ikon ico i xpm.
- Zezwolono na użycie HTML w wyświetlanych powiadomieniach.
- Do aktywacji VPN, trybu samolotowego i agentów kontroli kluczy użyto pakietu nmrs (Rustowy interfejs dla NetworkManagera).
- W bibliotece aplikacji (cosmic-app-library) zezwolono na reorganizację przez przeciąganie elementów myszą.
- Wykorzystano nową wersję biblioteki iced z optymalizacjami wydajności, ulepszoną animacją i wsparciem dla metod wejścia.


Źródło: opennet.ru

