Користувальницьке оточення COSMIC розвиває нову панель, написану на Rust

Компанія System76, що розробляє Linux-дистрибутив Pop!_OS, опублікувала звіт про розвиток нової редакції користувача оточення COSMIC, переписаної мовою Rust (не плутати зі старим COSMIC, який був заснований на GNOME Shell). Оточення розвивається як універсальний проект, який не прив'язаний до конкретного дистрибутиву і відповідає специфікаціям Freedesktop. Проект також розробляє композитний сервер cosmic-comp на базі Wayland.

Для побудови інтерфейсу в COSMIC задіяна бібліотека Iced, яка використовує безпечні типи, модульну архітектуру та модель реактивного програмування, а також пропонує звичну архітектуру для розробників, знайомих з мовою декларативної побудови інтерфейсів Elm. Надається кілька двигунів малювання, що підтримують Vulkan, Metal, DX12, OpenGL 2.1+ та OpenGL ES 2.0+, а також віконна оболонка та двигун для інтеграції з Web. Програми на базі Iced можуть бути зібрані для Windows, macOS, Linux та запуску у веб-браузері. Розробникам пропонується готовий набір віджетів, можливість створювати асинхронні обробники та використовувати адаптивне компонування елементів інтерфейсу залежно від розміру вікна та екрану. Код розповсюджується під ліцензією MIT.

Користувальницьке оточення COSMIC розвиває нову панель, написану на Rust

Серед останніх досягнень у розробці COSMIC:

  • Запропоновано нову панель, що відображає список активних вікон, ярлики для швидкого доступу до програм і підтримує розміщення аплетів (вбудовані програми, що виконуються в окремих процесах). Наприклад, через аплети реалізовані меню програм, інтерфейс перемикання між робочими столами та індикатори для зміни розкладки клавіатури, керування відтворенням мультимедійних файлів, зміни гучності, керування Wi-Fi і Bluetooth, показу виведення списку сповіщень, відображення часу і виклику екрана для завершення роботи. У планах реалізація аплетів з прогнозом погоди, нотатками, управління буфером обміну та реалізацією меню користувача.
    Користувальницьке оточення COSMIC розвиває нову панель, написану на Rust

    Панель може розділятися на частини, наприклад, верхню з меню та індикаторами, і нижню зі списком активних завдань та ярликів швидкого доступу. Частини панелі можуть розміщуватися як вертикально, так і горизонтально, займати всю ширину екрана або лише вибрану область, використовувати прозорість, змінювати стиль залежно від вибору світлого та темного оформлення.

    Користувальницьке оточення COSMIC розвиває нову панель, написану на Rust

  • Опубліковано сервіс автоматичної оптимізації System76 Scheduler 2.0, що динамічно налаштовує параметри планувальника задач CFS (Completely Fair Scheduler) і змінює пріоритети виконання процесів для зниження затримок та забезпечення максимальної продуктивності процесу, пов'язаного з активним вікном, з яким зараз працює користувач. У новій версії реалізовано інтеграцію з мультимедійним сервером Pipewire для підвищення пріоритету процесів, що виводять мультимедійний контент; здійснено перехід на новий формат файлів конфігурації, в яких можна визначати власні правила та керувати застосуванням різних режимів оптимізації; надано можливість застосування налаштувань з урахуванням стану cgroups та батьківських процесів; приблизно на 75% знижено споживання ресурсів у основному процесі Scheduler.
  • Доступна реалізація конфігуратора, підготовленого за допомогою нової бібліотеки віджетів. У першому варіанті конфігуратора запропоновано налаштування панелі, клавіатури та шпалер робочого столу. Надалі кількість сторінок із налаштуваннями буде збільшено. Конфігуратор має модульну архітектуру, що дозволяє легко підключати додаткові сторінки з налаштуваннями.
    Користувальницьке оточення COSMIC розвиває нову панель, написану на Rust
  • Ведеться підготовка до інтеграції підтримки екранів з високим динамічним діапазоном яскравості (HDR) та засобів керування кольоровості (наприклад, планується додати підтримку колірних профілів ICC). Розробка поки що на початковій стадії і синхронізується із спільною роботою щодо забезпечення підтримки HDR та засобів керування кольором для Linux.
  • У композитний сервер cosmic-comp додано підтримку виведення з поданням кольору 10 біт на канал.
  • У GUI-бібліотеці iced ведеться робота з підтримки інструментів для людей з обмеженими можливостями. Проведено експериментальну інтеграцію з бібліотекою AccessKit та додано можливість використання екранних рідерів Orca.

Джерело: opennet.ru

Додати коментар або відгук