Společnost System76, která vyvíjí linuxovou distribuci Pop!_OS, oznámila pokrok v vývoji uživatelského rozhraní COSMIC, přepsaného v jazyce Rust (nezaměňovat se starým COSMIC, který byl založen na GNOME Shell). Rozhraní se vyvíjí již více než dva roky a blíží se k formaci první alfa verze, která označí připravenost základní sady funkcí, jež umožní považovat rozhraní za hotový produkt. Očekává se, že alfa verzi se podaří zveřejnit na konci března, což pomůže shromáždit další zpětnou vazbu pro finální doladění funkčnosti a zlepšení uživatelského komfortu.
Prostředí se vyvíjí jako univerzální projekt, který není vázán na konkrétní distribuci a odpovídá specifikacím Freedesktop. Pro budování rozhraní v COSMIC je použita knihovna Iced, která využívá bezpečné typy, modulární architekturu a model reaktivního programování, a také nabízí architekturu, která je známá vývojářům obeznámeným s jazykem deklarativního konstruování rozhraní Elm. Je poskytováno několik vykreslovacích enginů, které podporují Vulkan, Metal, DX12, OpenGL 2.1+ a OpenGL ES 2.0+. Vývojářům je nabízena hotová sada widgetů, možnost vytvářet asynchronní zpracovatele a používat adaptivní rozložení prvků rozhraní v závislosti na velikosti okna a obrazovky. Projektem je také vyvíjen kompozitní server cosmic-comp založený na Wayland.
Možnosti ve vývoji, které jsou součástí seznamu minimálně potřebných pro formaci alfa verze COSMIC:
- Emulátor terminálu COSMIC Terminal, napsaný s využitím rámce alacritty_terminal, který podporuje funkce jako vykreslování pomocí GPU, motivy a rozšířené metody vstupu. Mezi úkoly v developmentu se uvádí přidání podpory pro emulaci myši a možnost otevírání hypertextových odkazů v terminálu.
- Byla vytvořena utilita COSMIC Randr pro zobrazení parametrů a nastavení obrazovek v prostředí založeném na Waylandu, která se plánuje využít v konfigurátoru COSMIC Settings pro nastavení výstupních parametrů.

- Applet pro pořizování snímků obrazovky. V současné době je již vytvořena počáteční implementace pro pořizování snímků celého obrazovky, jednotlivých oken a vybrané oblasti.

- Zajištění funkčnosti na systémech s hybridní grafikou (integrované GPU + diskrétní grafická karta) s možností vypnutí diskrétní karty pro šetření energie v režimu na baterii nebo její selektivní aktivace pro hry a grafické aplikace.
- Implementace podpory efektu matného skla (rozmazané pozadí) v motivích.
- Vytvoření appletu pro správu mozaikového uspořádání oken a možnost aktivace automatického mozaikového rozložení oken vázaného na určitou pracovní plochu.

- Režim stohového připnutí oken pro seskupení různých oken aplikací analogicky s kartami v prohlížeči. Možnost je dosud ve fázi návrhu a diskuze.
- Vytvoření ikon pro nové aplikace a applet.
- Možnost zobrazení informací na obrazovce (OSD – On-Screen Display) a využití této funkcionality pro zobrazení indikátorů jasnosti, hlasitosti, přepínání oken pomocí Alt + Tab a přechod do offline režimu.
- Vytváření stylizovaných tapet na plochu a rozhraní pro nastavení tapet s takovými možnostmi, jako je prezentace a přizpůsobení obrázku na celou obrazovku.
- Obrazovky pro vstup a zámek. Navrženy a nacházejí se ve fázi vývoje.
- Rozhraní pro nastavení orientace obrazovky, měřítka, barevného profilu a grafických režimů. Zatím jsou k dispozici pouze makety.
- Rozhraní pro nastavení vstupních zařízení, které umožňuje měnit parametry myši a touchpadu, jako je rychlost pohybu kurzoru.
- Virtuální pracovní plochy. Diskuze o funkcionalitě byla dokončena a začala fáze vývoje.
- Revize a unifikace designu pro všechny již vyvinuté funkcionality, jako jsou nabídky aplikací, rozhraní pro spouštění programů a systém notifikací.
Zdroj: opennet.ru



