Today, we bring you a new report on the Maui Project’s progress.
Are you a developer and want to start developing cross-platform and convergent apps, targeting, among other things, the upcoming Linux Mobile devices? Then join us on Telegram:
https://t.me/mauiproject.
We are present on Twitter and Mastodon:
Beta Packages
Beta packages for AMD64 & ARM64 & Android can be found here:
https://download.kde.org/unstable/maui/
KDE Review
MauiKit was submitted to review; the reviewers have made some suggestions, and we are working on implementing those.
The documentation for MauiKit is still a work in progress and will most likely be ready for the next point releases 1.2.1 or 1.2.2.
Right now, thanks to the community, we have been working on getting the inline documentation of the source code ready with QDoc to be up and running soon.
If you want to help with the documentation process, you can contact us via our Telegram group chat. This is the current state of the work:
https://invent.kde.org/maui/mauikit/-/tree/work/janb/docs
2021 Goals and Plans
- Fully utilize CMake. [Done]
- More feature-rich applications
- Pix: basic image editing
- Clip: video cutting
- Nota and Buho: rich text and mark up support
- Improve data synchronization using NextCloud.
- Pix: images syncing
- Vvave: improve music syncing and streaming
- Index: quickly browse cloud files
- Improve performance.
- Improve the UI cohesion on all supported platforms.
- Move beta apps to stable.
Releases cycle
Every two months, we will have a new stable release. This is the release schedule:
MauiKit Release Cycle |
2021 |
2022 |
2023 |
February |
1.2.1 |
2.1.1 |
2.2.2 |
May |
1.2.2 |
2.1.2 |
3.0.0 |
August |
2.0.0 |
2.2.0 |
3.1.0 |
November |
2.1.0 |
2.2.1 |
3.1.1 |
NX Software Center
The NX Software Center is a front-end application that uses the AppImageHub API to provide AppImage packages.
The store convergent application has been built using MauiKit and uses some of the newest components added to the MauiKit framework. The store also works on Linux phones and provides ARM AppImages.
Further information about the release of the application will be shared in an upcoming blog post.
MauiKit
With the new updates, the existing components keep on being polished and gaining features.
Some of the highlights are:
MauiKit can now be built for Android and Windows using CMake; this required some changes in the MauiKit source code and the CMakeList files. QMake is no longer supported.
We are now on the right path to get the KDE infrastructure applications to ship the packages in the different platform’s stores, such as Window store, Play Store, and FDroid. This was also one of the goals set for 2021.
GalleryRollItem
A new component for displaying images in a slide show manner, with extra info like title, subtitle, and an icon, was added.
To set the slide show images, a property named
images takes a list of image URLs, remote or local images.
CollageItem
Another new component to display images but in a grid layout, with extra info like title, subtitle, and an icon.
To set the slide show images, a property named
images takes a list of URLs.
FlexListItem
This component is composed of a Maui LisItemTemplate on the left and whatever else component to be declared. The content wraps on constrained spaces, from a horizontal layout to a vertical one.
FileListingDialog
This new dialog allows showing information on a group of items and fine-tunes the group selection of items.
SectionDropDown
A new component to be used as a section title that can collapse such a section.
IconItem
It can be an icon or an image, styled using MauiKit HIG; right now, this is the default component used as the icon in the GridItemTemplate and LisItemTemplate controls.
Chip
Quick informative action or tips.
Dialog
The dialog header bar no longer has a separator.
The TaggingDialog has been tweaked and refined.
Terminal
Now supports shortcut gestures borrowed from the UBPorts terminal app.
AboutDialog
Fine-tuning implicit section heights and make developers’ email address clickable.
SettingsSection
Now using the new FlexListItem allowing for wrapping its content on small screens.
SelectionBar
Now uses Kirigami ActionToolBar, allowing the items to be overflowed into a menu on constrained widths.
BasicToolButton
This custom implementation of buttons no longer steals the focus, causing the virtual keyboard to lose focus and close.
FileBrowser
New dialogs for creating a file or folder, instead of two separate dialogs.
Remove and compress dialog now uses the FileListingDialog, so multiple selected files can be fine-tuned.
Features were moved from MauiKit implementation to Index, which makes MuaiKit FileBrowser lighter and more versatile.
Now can change the grid item size and list item sizes for both the list and column views.
GridItemTemplate
The icon component is now exposed and can be changed to anything else.
Now uses the IconItem for the
iconComponent.
The label background color now correctly wraps around the label minimum height and width.
ListItemTemplate
Now uses the IconItem for the
iconComponent.
Now detects its implicit height correctly based on its contents.
NewDialog
The dialog now autofocuses its text field on opened.
SideBar
The collapsable sidebar has now been dropped.
MauiApp
Fixes to make it an actual singleton instance. The Maui Style is now set there for other platforms besides Linux, instead of being done in MauiKit mauikit.CPP file.
ToolActions
The borders are now correctly masked to be rounded, and more tweaks were added to make it work better.
Added a flat property.
Others
The Store components have been removed, and if they do come back should be into a submodel like MauiKit::Store.
Cleared compiler warnings and updated the minimum required Qt version to be 5.14
The Templated Models
MauiList and MauiModel introduced several fixes to issues causing run race conditions and crashes when inserting the list model.
The TaggingModel has been clean and improved and cleaned up by removing old unwanted, and unused code.
The PlacesList showing bookmarks disk and devices now correctly gets refreshed when a new device is found.
The FMList
The history browsing was fixed.
The CSD controls
The
libappletdecoration had to be dropped due to conflicts with the newest KDeco API changes. It should return soon refactored and improved.
Maui Style
Add a Switch and Slider styling.
Fix text and other elements sizing to be more consistent with Kirigami and cross platforms.
Android
The place’s sidebar now correctly lists removable SD cards.
Source code cleanup and refactors, removing, for example, the contacts fetching API and moving it to Communicator source code.
Apps
Beta packages for AMD64 & ARM64 & Android can be found here:
https://download.kde.org/unstable/maui/
Currently, the Maui Project maintains over ten core applications to provide an essential experience: Index, VVave, Pix, Nota, Buho, Shelf, Station, Cinema, Communicator, Sol, and Booth; while some are in a stable state, some others are just recently entering a beta state.
This week’s progress includes many nice feature fixes to the current stable apps and upgrades to the beta ones.
Index
For reporting, issues fill a ticket at
https://invent.kde.org/maui/index-fm/-/issues.
- New option to change items sizes in list view
- Dropped support for the “collapsed” sidebar
- Added a contextual menu entry to open paths in the default terminal emulator
- New welcome view with an overview of recent and favorite files, disk shortcuts, and file system size info.
- Option to compress files to ZIP, TAR, and 7ZIP
- Added more list and grid item size options
- Added navigation shortcuts for the mouse buttons to go back and forward.
- Fix bug with navigation history per browser.
- Cleaned compiler warnings
- Added support for building for Android with CMake
- Updated to latest MauiKit
New overview view & new settings
Pix
For reporting, issues fill a ticket at
https://invent.kde.org/maui/pix/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake
- The viewer has been moved to a stack for a better workflow.
- The viewer editor tools can now be tested on Android, thanks to the move to CMake.
- Added free rotation to the viewer editor
- Updated to latest MauiKit
Vvave
For reporting, issues fill a ticket at
https://invent.kde.org/maui/vvave/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake
- The tracks view now is sorted by artist by default with a nice header to group them visually.
- Added an artwork image provider to fetch album artwork in a more optimized way only for albums in the viewport.
- Fix MPris controls playback issues
- Updated to latest MauiKit
Station
For reporting, issues fill a ticket at
https://invent.kde.org/maui/station/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake
- Added touch gestures for navigating commands history and editing
- The helper key buttons do not steal focus, causing the virtual keyboard to close.
Buho
For reporting, issues fill a ticket at
https://invent.kde.org/maui/index-fm/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake
- Fix deprecated methods from Qt5
- FIx bug in books views not opening the right book.
- Updated to latest MauiKit
Nota
For reporting, issues fill a ticket at
https://invent.kde.org/maui/nota/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake
- Updated to latest MauiKit
- Fixed file dialog issue when opening files or saving documents
Cinema
For reporting, issues fill a ticket at
https://invent.kde.org/maui/cinema/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake
- Updated to latest MauiKit
Communicator
For reporting, issues fill a ticket at
https://invent.kde.org/maui/communicator/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake again
- Updated to latest MauiKit
Shelf
For reporting, issues fill a ticket at
https://invent.kde.org/maui/shelf/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake
Booth
For reporting, issues fill a ticket at
https://invent.kde.org/maui/booth/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake
Sol
For reporting, issues fill a ticket at
https://invent.kde.org/maui/sol/-/issues.
- Cleaned compiler warnings
- Added support for building for Android with CMake