Recently developers of the Nitrux distribution, offering its own desktop environment "NX Desktop", they made known the announcement of creating a new Maui Shell user environment which can be used on desktop computers, mobile devices and tablets, automatically adapting to screen size and the available input methods.
The environment unfolds under the concept of «Convergence», which implies the ability to work with the same applications both on the touch screens of smartphones and tablets, as well as on the large screens of laptops and PCs.
For example, a skin for a smartphone can be formed on the basis of Maui Shell, which, when connected to a monitor, keyboard, and mouse, can turn your smartphone into a portable workstation. The same skin can be used for desktops, smartphones and tablets, without the need to create separate versions for devices with different form factors.
The shell uses the MauiKit GUI components and the Kirigami framework that is being developed by the KDE community. Kirigami is a plug-in for Qt Quick Controls 2, and MauiKit offers out-of-the-box user interface templates that allow you to create applications very quickly that automatically adapt to the screen size and available input methods.
The Maui Shell User Environment It is made up of two components:
- A Cask wrapper that provides a container that encompasses all of the content on the screen. The shell also includes basic templates for items such as the top bar, pop-up dialog boxes, on-screen maps, notification areas, docking bar, shortcuts, program invocation interface, etc.
- Zpace compound manager, responsible for displaying and placing windows in the Cask container, processing virtual desktops.
The top bar contains the notification area, calendar, and switches for quick access to several common functions, such as accessing network settings, changing volume, adjusting screen brightness, controlling playback, and managing the session. At the bottom of the screen, there is a docking panel, which displays icons of pinned applications, information about running programs, and a button to navigate through installed applications (launcher). The available programs are classified or grouped according to the specified filter.
When working on normal monitors, the shell works in desktop mode, with a panel docked at the top, which is not covered by windows open to full screen, and panel elements are automatically closed when you click outside of them. The application selection interface opens in the center of the screen. The controls are designed to use the mouse.
With a touchscreen, the shell works in portrait tablet mode: Open windows fill the entire screen and are displayed without decorative elements. On a virtual desktop, no more than two windows are allowed, which are placed side by side or in a stack, by analogy with tile window managers. Windows can be resized with a 'pinch' gesture, or windows can be moved by sliding them with three fingers; When you move a window off the edge of the screen, it is transferred to another virtual desktop. The application selection interface occupies all available screen space.
On phones, the panel items and application list expand to full screen: A sliding movement on the left side of the top panel opens a block with a list of notifications and a calendar, and on the right, a block of quick settings. If the content of the list of applications, notifications or settings does not fit on one screen, scrolling is used. Only one window can be displayed for each virtual desktop, which takes up all the available space and overlaps the bottom pane. Using on-screen swipe gestures, you can open the bottom bar or switch between open applications.
The project is in active development. Features not yet implemented include support for multi-monitor setups, a session manager, a configurator, and the use of XWayland to run X11 applications in a Wayland-based session.
The first experimental version is included as an option in the December update of the Nitrux 1.8 distribution. There are two options for starting Maui Shell: with your own Zpace composite server using Wayland, and launching a separate Cask shell within an X server-based session. The first alpha version is scheduled for March, the beta version is scheduled for June, and the first stable release is scheduled for September 2022.
The project code is written in C ++ and QML and is distributed under the LGPL 3.0 license.
Finally, if you are interested in knowing more about it, you can consult the details in the following link