New Maui Shell Open User Environment Introduced

The developers of the Nitrux distribution, which offers its own NX Desktop, have announced the creation of a new Maui Shell user environment that can be used on desktop systems, mobile devices and tablets, automatically adapting to the screen size and available input methods. The project code is written in C++ and QML and distributed under the LGPL 3.0 license.

The environment develops the concept of "Convergence", which implies the ability to work with the same applications both on the touch screens of a smartphone and tablet, and on large screens of laptops and PCs. For example, on the basis of Maui Shell, a shell for a smartphone can be formed, which, when connected to a monitor, keyboard and mouse, allows you to turn your smartphone into a portable workstation. The same skin can be used for desktops, smartphones and tablets without having to create separate versions for devices with different form factors.

New Maui Shell Open User Environment Introduced

The shell uses the MauiKit GUI components and the Kirigami framework developed by the KDE community. Kirigami is built on top of Qt Quick Controls 2, and MauiKit provides pre-built UI templates that allow you to quickly create applications that automatically adapt to screen size and available input methods.

The Maui Shell user environment consists of two components:

  • A Cask that provides a container that encloses the entire contents of the screen. The shell also includes basic templates for elements such as the top bar, pop-up dialogs, on-screen maps, notification areas, dock-panel, shortcuts, program call interface, and so on.
  • Zpace compositing manager responsible for displaying and placing windows in the Cask container, handling virtual desktops. The Wayland protocol is used as the main protocol, which is handled using the Qt Wayland Compositor API. The positioning and handling of windows depends on the form factor of the device.
    New Maui Shell Open User Environment Introduced

The top bar contains a notification area, calendar, and toggles for quick access to various common features such as accessing network settings, changing volume, adjusting screen brightness, playback control, and session management. At the bottom of the screen is a dock-panel that displays icons of pinned applications, information about running programs and a button for navigating through installed applications (launcher). The available programs are categorized or grouped based on the filter you set.

When working on normal monitors, the shell functions in desktop mode, with a panel fixed on top, which is not blocked by windows opened to full screen, and panel elements are automatically closed when clicked outside them. The application selection interface opens in the center of the screen. Management is designed to use the mouse. It is possible to open an arbitrary number of windows, which can be of any size, overlap each other, be transferred to another desktop and expand to full screen. Windows have borders and a title bar that are rendered using the WindowControls component. Window decoration is done on the server side.

New Maui Shell Open User Environment Introduced

If there is a touch screen, the shell works in tablet mode with a vertical arrangement of elements. Open windows take up the entire screen and are displayed without decorations. A maximum of two windows can be opened on one virtual desktop, which are placed side by side or in a stacked form, similar to tiled window managers. It is possible to resize windows with a pinch gesture or move windows with a three-finger swipe, and moving a window off the edge of the screen moves it to another virtual desktop. The application selection interface takes up all available screen space.

New Maui Shell Open User Environment Introduced

On phones, the panel items and the application list expand to full screen. A sliding movement from the left side of the top panel opens a block with a list of notifications and a calendar, and from the right side, a block of quick settings. If the contents of the list of programs, notifications or settings do not fit on one screen, scrolling is used. Only one window per virtual desktop is allowed to be displayed, which takes up all the available space and overlaps the bottom panel. Using sliding screen gestures, you can bring up the bottom panel or switch between open applications.

New Maui Shell Open User Environment Introduced

The project is under active development. Of the features not yet implemented, support for multi-monitor configurations, a session manager, a configurator, and the use of XWayland to run X11 applications in a Wayland-based session are noted. Of the functionality that developers are currently focusing on, they mention support for the XDG-shell extension, panels, virtual desktops, the Drag & Drop mechanism, sound output via Pulseaudio, interaction with Bluetooth devices via Bluedevil, network management indicator, media player control via MPRI.

The first experimental version is included as an option in the December update of the Nitrux 1.8 distribution. There are two options for running Maui Shell: with its Zpace composite server using Wayland, and running a separate Cask shell inside an X-server-based session. The first alpha release is planned for March, the beta release for June, and the first stable release for September 2022.

Source: opennet.ru

Add a comment