Środowisko użytkownika COSMIC rozwija nowy panel napisany w języku Rust

Firma System76, która rozwija dystrybucję Linuksa Pop!_OS, opublikowała raport z prac nad nową edycją środowiska użytkownika COSMIC, napisanego na nowo w Rust (nie mylić ze starym COSMIC, który bazował na powłoce GNOME). Środowisko jest rozwijane jako projekt uniwersalny, niezwiązany z konkretną dystrybucją i zgodny ze specyfikacjami Freedesktop. W ramach projektu rozwijany jest również serwer kompozytowy cosmic-comp oparty na Wayland.

Aby zbudować interfejs, COSMIC wykorzystuje bibliotekę Iced, która wykorzystuje bezpieczne typy, architekturę modułową i reaktywny model programowania, a także oferuje architekturę znaną programistom zaznajomionym z deklaratywnym językiem budowania interfejsów Elm. Dostępnych jest kilka silników renderujących obsługujących Vulkan, Metal, DX12, OpenGL 2.1+ i OpenGL ES 2.0+, a także powłokę okienkową i silnik integracji sieciowej. Aplikacje oparte na Iced można budować dla systemów Windows, macOS, Linux i uruchamiać w przeglądarce internetowej. Deweloperom oferowany jest gotowy zestaw widżetów, możliwość tworzenia asynchronicznych handlerów oraz wykorzystanie adaptacyjnego układu elementów interfejsu w zależności od wielkości okna i ekranu. Kod jest rozpowszechniany na licencji MIT.

Środowisko użytkownika COSMIC rozwija nowy panel napisany w języku Rust

Wśród najnowszych osiągnięć w rozwoju COSMIC:

  • Zaproponowano nowy panel wyświetlający listę aktywnych okien, skróty umożliwiające szybki dostęp do aplikacji oraz obsługujący umieszczanie apletów (osadzone aplikacje, które działają w osobnych procesach). Na przykład aplety implementują menu aplikacji, interfejs do przełączania między pulpitami i wskaźniki do zmiany układu klawiatury, sterowania odtwarzaniem plików multimedialnych, zmiany głośności, sterowania Wi-Fi i Bluetooth, pokazujące wyjście listy skumulowanych powiadomień , wyświetlając czas i wywołując ekran do wyłączenia. W planach jest wdrożenie apletów z prognozą pogody, notatkami, zarządzaniem schowkiem oraz wdrożenie menu użytkownika.
    Środowisko użytkownika COSMIC rozwija nowy panel napisany w języku Rust

    Panel można podzielić na części, np. górną z menu i wskaźnikami, a dolną z listą aktywnych zadań i skrótów. Części panelu można układać zarówno w pionie, jak iw poziomie, zajmować całą szerokość ekranu lub tylko wybrany obszar, stosować przezroczystość, zmieniać styl w zależności od wyboru jasnego i ciemnego projektu.

    Środowisko użytkownika COSMIC rozwija nowy panel napisany w języku Rust

  • Opublikowano usługę automatycznej optymalizacji System76 Scheduler 2.0, która dynamicznie konfiguruje parametry harmonogramu zadań CFS (Completely Fair Scheduler) oraz zmienia priorytety wykonywania procesów w celu zmniejszenia opóźnień i zapewnienia maksymalnej wydajności procesu związanego z aktywnym oknem, które użytkownik aktualnie pracuje. Nowa wersja integruje się z serwerem mediów Pipewire w celu zwiększenia priorytetu procesów wyświetlających treści multimedialne; dokonano przejścia na nowy format plików konfiguracyjnych, w którym można definiować własne reguły i kontrolować wykorzystanie różnych trybów optymalizacji; możliwość zastosowania ustawień na podstawie stanu cgroups i procesów nadrzędnych; około 75% zmniejszenie zużycia zasobów w głównym procesie Harmonogramu.
  • Dostępna jest implementacja konfiguratora przygotowana z wykorzystaniem nowej biblioteki widżetów. Pierwsza wersja konfiguratora oferuje ustawienia panelu, klawiatury oraz tapety pulpitu. W przyszłości liczba stron z ustawieniami zostanie zwiększona. Konfigurator posiada modułową architekturę, która pozwala w łatwy sposób łączyć dodatkowe strony z ustawieniami.
    Środowisko użytkownika COSMIC rozwija nowy panel napisany w języku Rust
  • Trwają przygotowania do integracji obsługi ekranów o wysokim zakresie dynamicznym (HDR) i kontroli kolorów (m.in. planowane jest dodanie obsługi profili kolorów ICC). Rozwój jest wciąż w powijakach i jest zsynchronizowany z ogólną pracą nad zapewnieniem obsługi HDR i narzędzi do zarządzania kolorami dla systemu Linux.
  • Dodano obsługę wyjścia z 10-bitową reprezentacją kolorów na kanał do serwera kompozytowego cosmic-comp.
  • Biblioteka Iced GUI pracuje nad narzędziami wspierającymi osoby niepełnosprawne. Przeprowadzono eksperymentalną integrację z biblioteką AccessKit oraz dodano możliwość korzystania z czytników ekranu Orca.

Źródło: opennet.ru

Dodaj komentarz