Разработка пользовательской оболочки COSMIC приближается к альфа-выпуску

Компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, объявила о прогрессе в разработке пользовательской оболочки COSMIC, переписанной на языке Rust (не путать со старым COSMIC, который был основан на GNOME Shell). Оболочка находится в разработке уже более двух лет и близка к формированию первого альфа-выпуска, который ознаменует готовность базового набора возможностей, позволяющих рассматривать оболочку как рабочий продукт. Предполагается, что альфа-версию удастся опубликовать в конце марта и она поможет собрать больше отзывов для финального оттачивания функциональности и повышения удобства работы.

Оболочка развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop. Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland.

Находящиеся в разработке возможности, которые включены в список минимально необходимых для формирования альфа-выпуска COSMIC:

  • Эмулятор терминала COSMIC Terminal, написанный с использованием фреймворка alacritty_terminal и поддерживающий такие возможности, как отрисовка с использованием GPU, темы оформления и расширенные методы ввода. Из находящихся в разработке задач отмечается добавление поддержки эмуляции мыши и возможность открытия гиперсылок в терминале.
  • Создана утилита COSMIC Randr для вывода параметров и настройки экранов в окружении на базе Wayland, которую планируется задействовать в конфигураторе COSMIC Settings для настройки параметров вывода.

  • Апплет для создания скриншотов. В настоящее время уже создана начальная реализация для создания скриншотов всего экрана, отдельных окон и выделенной области.

  • Обеспечение работы на системах с гибридной графикой (встроенный GPU + дискретная видеокарта) с возможностью отключения дискретной карты для экономии энергии в автономном режиме или её выборочной активации для игр и графических приложений.
  • Реализация поддержки эффекта матового стекла (размытый фон) в темах оформления.
  • Создание апплета для управления мозаичной компоновкой окон и возможность активации автоматического мозаичного размещения окон в привязке к определённому рабочему столу.

  • Режим стекового закрепления окон для группировки разных окон приложений по аналогии с вкладками в браузере. Возможность пока находится на стадии проектирования и обсуждения.
  • Создание пиктограмм для новых приложений и апплетов.
  • Возможность вывода информации поверх содержимого (OSD — On-Screen Display) и задействование данной возможности для отображения индикаторов яркости, громкости, переключения окон по Alt + Tab и перехода в автономный режим.
  • Создание стилизованных обоев рабочего стола и интерфейса для установки обоев с таким возможностями как слайд-шоу и масштабирование изображения на весь экран.
  • Экраны входа и блокировки. Спроектированы и находятся на стадии разработки.
  • Интерфейс для настройки ориентации экрана, масштаба, цветового профиля, графических режимов. Пока готовы только макеты.
  • Интерфейс для настройки устройств ввода, позволяющий менять параметры мыши и тачпада, такие как скорость движения курсора.
  • Виртуальные рабочие столы. Завершено обсуждение функциональности и началась стадия разработки.
  • Ревизия и унификация оформления для всех уже разработанных возможностей, таких как меню приложений, интерфейс запуска программ и система уведомлений.

Источник: http://www.opennet.ru/opennews/art.shtml?num=60441