Разработчики проекта Nitrux представили первый альфа выпуск пользовательского окружения Maui Shell, развиваемого в соответствии с концепцией “Convergence”, подразумевающей возможность работы с одними и теми же приложениями как на сенсорных экранах смартфона и планшета, так и на больших экранах ноутбуков и ПК. Maui Shell автоматически адаптируется к размеру экрана и доступным методам ввода информации, и может применяться не только на настольных системах, но и на смартфонах и планшетах. Код проекта написан на языках C++ и QML, и распространяется под лицензией LGPL 3.0.
При работе на обычных мониторах оболочка функционирует в режиме рабочего стола, c закреплённой сверху панелью, возможностью открытия произвольного числа окон и управлением при помощи мыши. При наличии сенсорного экрана оболочка работает в режиме планшета с вертикальной компоновкой элементов и открытием окон на весь экран или компоновкой бок о бок по аналогии с мозаичными оконными менеджерами. На смартфонах элементы панели и приложения раскрываются на весь экран, как в традиционных мобильных платформах.
Одна и та же оболочка может применяться для настольных систем, смартфонов и планшетов, без необходимости создания отдельных версий для устройств с разным форм-фактором. Например, при использовании Maui Shell на смартфоне или планшете, оболочка позволяет превратить мобильное устройство в портативную рабочую станцию, предлагающую полноценный настольный интерфейс при подключении монитора, клавиатуры и мыши.
Maui Shell использует компоненты для построения графических интерфейсов MauiKit и фреймворк Kirigami, которые развиваются сообществом KDE. Kirigami является надстройкой над элементами Qt Quick Controls 2, а MauiKit предлагает готовые шаблоны элементов интерфейса, позволяющие очень быстро создавать приложения, автоматически адаптирующиеся к размеру экрана и доступным методам ввода. В проекте также используются такие компоненты, как BlueDevil (управление Bluetooth), Plasma-nm (управление сетевыми соединениями), KIO, PowerDevil (управление питанием), KSolid и PulseAudio.
Вывод информации обеспечивается при помощи своего композитного менеджера Zpace, отвечающего за отображение и размещение окон и обработку виртуальных рабочих столов. В качестве основного используется протокол Wayland, работа с которым осуществляется при помощи API Qt Wayland Compositor. Поверх Zpace выполняется оболочка Cask, реализующая контейнер, охватывающий всё содержимое экрана, а также предоставляющая базовые реализации таких элементов, как верхняя панель, всплывающие диалоги, экранные карты, области уведомлений, dock-панель, ярлыки, интерфейс вызова программ и т.п. Помимо работы Maui Shell поверх своего композитого сервера Zpace, также возможен и отдельный запуск оболочки Cask внутри сеанса на основе X-сервера.
Первый альфа-выпуск ознаменовал реализацию базовой функциональности оболочки Cask и развитие элементов, специфичных для устройств с разными форм-факторами. Добавлена поддержка звука, Bluetooth, тёмной темы оформления, виджетов для управления сетью, воспроизведением и яркостью. Для выполнения привилегированных действий добавлен агент на основе PolKit. Предоставлена возможность изменения обоев рабочего стола и адаптивной подстройки цветовых схем. Добавлена программа для запуска сеанса startcask-wayland и необходимых для его работы сервисов. В панели программ обеспечен вывод на первой странице наиболее часто используемых приложений, а также списка категорий программ, недавних загрузок и ярлыков для быстрого перехода.
В июне планируется сформировать бета-выпуск, в котором будет доработана функциональность Cask, предложен менеджер сеансов, блокировщик экрана, система управления питанием и возможность управления через клавиатурные комбинации. Первый стабильный выпуск намечен на сентябрь 2022 года.