Компания 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.