Monday, 3 October 2022
Today, we bring you a new report on the Maui Project’s progress.
Maui 2.2.1 was released almost two months ago. Since then, new features, bug fixes, and improvements have been made to the Maui set of apps and frameworks; the following blog post will cover some of the changes and highlights coming to the upcoming stable release.
What’s new?
Among many bug fixes that will be listed below, some of the highlights include paper-cut fixes to the MauiKit controls look and feel, such as translucent overflowing content, a new TabView, and more coherent and cohesive controls; more powerful features to the Maui apps, and updates to the latest libraries used by Maui apps.
MauiKit
Once again, the framework has been cleaned up, and many bugs have been solved, resulting in better performance and optimizations. This is what’s new:
Core
- Tweak the WheelHandler to allow horizontal scrolling without keyboard modifiers; add a new property: primaryOrientation to WheelHandler to set the intended scrolling behavior as Horizontal or Vertical.
- Expanded the TabBar of the TabView control to support toolbar-like behavior.
- The TabView controls have been improved with new transition animations and an improved implementation to use both tab-bar and overview grid patterns easily. Now switch between tabs on the mobile mode by sliding between them, and reorganize them on the desktop by drag and drop.
- Cleaner AboutDialog hides developer emails and links to them from the developer name.
- Translucency for the Page overflowing content under toolbars.
- Tweaked and improved the implementation of ToolActions control for jointed buttons, now using a ToolButton instead of a custom control.
- Improved ListItemTemplate and Page control implementation.
- Hooked a new property to MauiMan: Maui.Style.enableEffects can make the apps much lighter by not using animations or special effects.
FileBrowsing
- Add support to inject elements into the delegates.
TextEditor
- Cleaned up implementation details and removed option to show the line-counter widget.
Maui Style
- Styling fixes to MenuItem.
- Added a drop-down indicator for ToolButton with sub-menus.
MauiMan & Maui Settings
MauiMan is a server for syncing setting preferences across different processes that also broadcasts via DBus those property changes; it also ships with a library with a public API for hooking to those standard settings.
- MauiMan server is now a DBus service for DBus to handle (auto start etc.)
- Added new boolean property: enableEffects
Maui Apps
Small steps have been taken to improve the app’s features, stability, and usability. Most apps are now much more compact UI-wise, have more keyboard shortcuts support, and have more touch-friendly gestures. A quick overview of what’s new and improved can be found here:
![](https://webcf.waybackmachine.org/web/20221004121943im_/https://mauikit.org/wp-content/uploads/2022/10/phone1.png)
Nota, Pix, and Index on Android.
Index
- Sidebar keyboard shortcuts: Ctrl+Click to open in a new tab; Ctrl+Alt open in a split view.
- Horizontal scrolling of the PathBar works again.
- Add an option to detach a tab into a new window.
Booth
- Initial support for scanning QR codes is now working
![](https://webcf.waybackmachine.org/web/20221004121943im_/https://mauikit.org/wp-content/uploads/2022/10/apps-1.png)
Booth QR code scanning – Nota & Station new TabBars.
Vvave
- Now tries to maintain a single instance of the app running instead of opening multiple ones; more options for the server will be coming soon: such as creating playlists and adding tracks.
- Fix the issue with blank cover artworks making the adaptive mode color scheme white.
- Tweak the focus-view actions.
- Added a transition animation between focus and collection views.
- Fix focus view current playing track positioning.
- Resume playback of a track.
Pix
- Faster startup time when opening images with the viewer, as the collection browser won’t load until needed.
- Fix the missing contextual menu for images from the viewer carousel.
Bonsai
- Merged ToolBar into the TabBar
- Display the status of the files in the browser view.
- Added support for switching branches.
- Display remotes and related branches.
- Display information about the project from the README.MD file if available.
- Add information header about the repository.
- Initial work on expanding the clone dialog options
Nota
- Merged ToolBar into the TabBar for a more compact look and feel; the file menu can be accessed from the TabButton itself.
- Now is a single instance app, and new documents will be opened in new tabs or split view, depending on the calling parameters.
- Move the line counter from MauiKit TextEditor to the app.
Buho
Now is a single instance app and added a server to request the creation of new notes.
Added command line option to create a new note quickly with: buho -n -c "Esta es una nota"
Shelf
- Initial support for comic book formats: CBZ and CBR.
- Merged ToolBar into the TabBar
Station
- Merged ToolBar into the TabBar for a more compact look and feel.
- Re-worked implementation of command shortcuts.
- Now, QML sources are being pre-compiled for faster startup times.
And quick fixes and updates to all the other apps.
Maui Shell & CaskServer
CaskServer exposes Cask functionalities, such as requesting screenshots, screencast, or power management, such as logout, reboot, shutdown, etc.
- Initial work for exposing Chrome and Shell properties.
- Added Screenshot properties for requesting screenshots.
Maui Shell compositor and shell have received the following fixes:
- The focus of new windows works correctly; minimizing a window will focus the window right under it.
- Added support for requested screenshots: with animation and sound.
- Added support for switching between windows using the tab switcher: Alt+Tab
- Do not allow to pass mouse event from the top window to other surfaces under it.
- Bind to MauiMan’s enableEffects property.
- Added option to always have the launcher in full screen. Pending to expose this property via CaskServer.
- Rotation experiments.
The post Maui Report 19 appeared first on MauiKit — #UIFramework.