At the end of last year, we shared here on the blog the news about the initiative by the developers of the Nitrux project, on creating a new desktop environment for their product and now today (a few months later) they have released the first alpha version of the user environment of Maui Shell.
This is a desktop environment developed according to the concept of “Convergence”, which implies the ability to work with the same applications on both the touch screens of a smartphone and a tablet and on large screens of laptops and PCs.
maui shell automatically adapts to screen size and available input methods, and can be used not only on desktop systems, but also on smartphones and tablets.
When you are working on conventional monitors, the shell works in desktop mode, with a fixed panel at the top, the ability to open an arbitrary number of windows and control with the mouse.
When equipped with a touch screen, the case works in tablet mode with a portrait layout and windows that open in full screen or in a side-by-side layout similar to tiled window managers.
On smartphones, panel items and apps expand to full screen, just like on traditional mobile platforms.
The same shell can be used for desktops, smartphones, and tablets without having to create separate versions for devices with different form factors. For example, when you use the Maui Shell on a smartphone or tablet, the shell allows you to turn your mobile device into a portable workstation that provides a full desktop experience when connected to a monitor, keyboard, and mouse.
maui shell uses the MauiKit GUI components and the Kirigami framework, which are developed by the KDE community. Kirigami is based on Qt Quick Controls 2, while MauiKit provides pre-built UI templates that allow you to quickly create applications that automatically adapt to the screen size and available input methods.
The project also uses components such as BlueDevil (Bluetooth management), Plasma-nm (network connection management), KIO, PowerDevil (power management), KSolid and PulseAudio.
The output of information is provided using your composite manager zpace, which is responsible for displaying and placing windows and rendering virtual desktops. The Wayland protocol is used as the main protocol, which is handled by the Qt Wayland Composer API.
In addition to Zpace, a Cask shell is executed, which implements a wrapper that covers all the screen content and also provides basic implementations of elements such as the top panel, popup dialogs, screen maps, notification areas, panel, shortcuts, program call interface, etc. . In addition to running the Maui Shell on top of your Zpace composite server, it is also possible to run the Cask shell separately within an X server-based session.
The first alpha release marked implementation of basic Cask shell functionality and the development of specific elements for devices with different form factors. As well added support for sound, bluetooth, dark theme, widgets to control network, playback and brightness.
Another change that stands out from this alpha is that a PolKit-based agent has been added to perform privileged actions and that the ability to change the desktop wallpaper and adaptive adjustment of color schemes has been provided.
On the other hand, it is also highlighted that added a program to start the session startcask-wayland and the services necessary for its operation. The program panel provides a front page view of your most used applications, a list of program categories, recent downloads, and shortcuts for quick access.
Finally, it should be mentioned that in June, it is planned to form a beta version, which will enhance the functionality of Cask, offering a session manager, a screen lock, a power management system and the ability to control via keyboard shortcuts. The first stable release is scheduled for September 2022.
For those who are interested in learning more about it, you should know that the project code is written in C++ and QML and is distributed under the LGPL 3.0 license and you can consult the details in the original note In the following link.