Los desarrolladores del proyecto Nitrux han presentado la primera versión alfa del entorno de usuario Maui Shell, que se desarrolla según el concepto de "Convergencia", que permite el uso de las mismas aplicaciones tanto en pantallas táctiles de teléfonos inteligentes y tabletas, como en pantallas grandes de portátiles y PC. Maui Shell se adapta automáticamente al tamaño de la pantalla y a los métodos de entrada disponibles, y puede utilizarse no solo en sistemas de escritorio, sino también en teléfonos inteligentes y tabletas. El código del proyecto está escrito en C++ y QML, y se distribuye bajo la licencia LGPL 3.0.
Al trabajar en monitores comunes, la interfaz funciona en modo de escritorio, con un panel anclado en la parte superior, la posibilidad de abrir un número arbitrario de ventanas y control mediante el mouse. Cuando hay una pantalla táctil, la interfaz opera en modo tableta con una disposición vertical de los elementos y ventanas que ocupan toda la pantalla o una disposición lado a lado, similar a los administradores de ventanas mosaicos. En teléfonos inteligentes, los elementos del panel y las aplicaciones se expanden a pantalla completa, al igual que en las plataformas móviles tradicionales.

La misma interfaz puede utilizarse en sistemas de escritorio, teléfonos inteligentes y tabletas, sin necesidad de crear versiones separadas para dispositivos con diferentes factores de forma. Por ejemplo, al usar Maui Shell en un teléfono inteligente o tableta, la interfaz permite convertir el dispositivo móvil en una estación de trabajo portátil, ofreciendo una interfaz de escritorio completa al conectar un monitor, teclado y mouse.

Maui Shell utiliza componentes para construir interfaces gráficas, como MauiKit y el marco Kirigami, que son desarrollados por la comunidad KDE. Kirigami es una extensión de los elementos Qt Quick Controls 2, mientras que MauiKit ofrece plantillas de elementos de interfaz listas para ser utilizadas, permitiendo crear aplicaciones que se adaptan automáticamente al tamaño de la pantalla y a los métodos de entrada disponibles. El proyecto también utiliza componentes como BlueDevil (gestión de Bluetooth), Plasma-nm (gestión de conexiones de red), KIO, PowerDevil (gestión de energía), KSolid y PulseAudio.
La salida de información se gestiona mediante su propio gestor de composición Zpace, que es responsable de la visualización y disposición de las ventanas y su procesamiento. escritorios virtuales. El protocolo principal utilizado es Wayland, cuyo funcionamiento se realiza mediante la API Qt Wayland Compositor. Encima de Zpace se ejecuta la interfaz Cask, que implementa un contenedor que abarca todo el contenido de la pantalla, así como proporciona implementaciones básicas de elementos como la barra superior, diálogos emergentes, mapas de pantalla, áreas de notificación, una dock, accesos directos, la interfaz para invocar programas, etc. Además de trabajar con Maui Shell sobre su compositor, servidores Zpace, también es posible ejecutar la interfaz Cask de forma independiente dentro de una sesión basada en el servidor X.
El primer lanzamiento alfa marcó la implementación de la funcionalidad básica de la interfaz Cask y el desarrollo de elementos específicos para dispositivos con diferentes factores de forma. También se añadió soporte para sonido, Bluetooth, un tema oscuro, widgets para gestionar red, reproducción y brillo. Para realizar acciones privilegiadas se añadió un agente basado en PolKit. Se proporcionó la posibilidad de cambiar los fondos de pantalla y ajustar las esquemas de color. Se añadió un programa para iniciar la sesión startcask-wayland y los servicios necesarios para su operación. En la barra de aplicaciones se asegura la visualización en la primera página de las aplicaciones más utilizadas, una lista de categorías de programas, descargas recientes y accesos directos para un acceso rápido.

En junio, se planea formar una versión beta, en la cual se mejorará la funcionalidad de Cask, se ofrecerá un gestor de sesiones, un bloqueo de pantalla, un sistema de gestión de energía y la posibilidad de manejar mediante combinaciones de teclas. El primer lanzamiento estable está programado para septiembre de 2022.
Fuente: opennet.ru
