Компанията System76, разработваща Linux дистрибуцията Pop!_OS, представи петата алфа-версия на работната среда COSMIC, написана на Rust (не бъркайте със старата COSMIC, базирана на GNOME Shell). За тестове се предлагат iso образи на новата версия на COSMIC, създадени на база алфа сборките на бъдещата версия на дистрибуцията Pop!_OS 24.04 за системи с GPU NVIDIA (2.9 ГБ) и Intel/AMD (2.5 ГБ). Също така се подготвят готови пакети за Fedora, NixOS, Arch Linux, openSUSE, Serpent OS, Redox и CachyOS.
COSMIC се развива като универсален проект, несвързан с конкретна дистрибуция и отговарящ на спецификациите на Freedesktop. За изграждане на интерфейса в COSMIC се използва библиотеката Iced, която използва безопасни типове, модулна архитектура и реактивно програмиране, а също така предлага архитектура, позната на разработчиците, свикнали с декларативния език за изграждане на интерфейси Elm. Предоставят се няколко рендериращи енджини, поддържащи Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. На разработчиците се предлага набор от готови свитъци, възможността да създават асинхронни обработчици и да използват адаптивна компоновка на интерфейсни елементи в зависимост от размера на прозореца и екрана.
Освен използването на Rust, от характеристиките на COSMIC се открояват режимите на хибридна мозаечна компоновка на прозорци и стека на закрепване на прозорци (групиране на прозорци, подобно на табовете в браузъра), които могат да бъдат включвани в свързаност с виртуални работни стани. Проектът също така разработва композитен сървър cosmic-comp на базата на Wayland. Първият стабилен релиз на COSMIC е планиран за първото тримесечие на 2025 година.
Основни промени в сравнение с четвъртата алфа-версия на COSMIC:
- По подразбиране е активиран собствен мултимедиен плеър COSMIC Media Player, който използва графичния API Vulkan за рендериране и VAAPI за декодиране на видео. В разработка е и отделно приложение за инсталиране на кодеци, което в бъдеще ще замени sessioninstaller.


- В конфигуратора е добавена страница за управление на потребителските акаунти, чрез която могат да се променят параметрите на своя акаунт. Потребителите с администраторски права допълнително могат да добавят нов потребител, да променят данните на вече съществуващите потребители и да делегират възможността за извършване на привилегировани операции на други потребители.

- В джаджата ContextDrawer е добавена поддръжка за разполагане на бутони в заглавката. Например, в файловия мениджър в дясната панел с допълнителна информация за файла, реализиран с помощта на ContextDrawer, са добавени бутоните „“ и „[]“ за преминаване към предишния и следващия файл, както и за отваряне на файла в отделно приложение.

- В файловия мениджър е реализирана възможността за запазване на нови файлове в нова директория. Добавена е поддръжка за преименуване на файлове в резултатите от търсенето. В контекстното меню, показвано в секцията за наскоро отворени файлове, е добавена опция за преглед на директорията, в която се съхранява избраният файл.
- В интерфейса за превключване между активните прозорци, активиран чрез Alt+Tab, редът на показване на прозорците на приложенията сега съответства на реда на работа на потребителя с приложенията (първо ще се покаже прозорецът, с който потребителят е работил последно, а последен - прозорецът, който не е бил активен най-дълго време). За превъртане в обратен ред може да се използва комбинацията Alt + Shift + Tab.
- Разширена е поддръжката на механизма VRR (Variable Refresh Rate), който позволява адаптивно променяне на честотата на опресняване на монитора, за да се осигури плавност и липса на разкъсване по време на игри и показване на видео. При използване на VRR сега се взима предвид минималната честота на опресняване на екрана, което гарантира плавно движение на курсора, дори ако приложението използва по-ниска честота при изход. Промените са особено забележими при отваряне на неигрови приложения в режим на цял екран.
- Добавена е възможността за отваряне на линкове от терминалния емулатор, използвайки клик с левия бутон на мишката върху URL.


Източник: opennet.ru




