Recently the Plasma library just got a new neat feature: the support for packages of files the are pretty generic, not bounded to being a “plasmoid”.
Is something, that even tough seemingly small, has some pretty interesting applications:
- Shipping parts of bigger QML user interfaces as Packages, avoiding making most of it “public api” as the imports do
- distributing applications plugins or extra sets such as graphics and sound via get hot new stuff or keep it updated via synchrotron
- use the plasma package file loading mechanism to have qml files loaded only in a specific hardware profile, to be able to do a multi device package.
- Ship the entire user interface of a mobile application in a single, well structured package
How those are used? for the main part of the Plasma active Contour UI home screen, besides from that i decided to give it a go for doing partly C++, partly QML stand alone applications.
The two examples below represent not more than 4-ish hours of work each and are a web browser and an image viewer. What is interesting is that they got almost for free some contour specific features, like:
- The browser uses nepomuk for its bookmarks, so they are available system wide and they can be connected to an activity
- The bookmarks are added with the system-wide SLC menu (more on that next post 😉
- all the addresses visited with the browser will end up in the statistics used to generate the Contour recommendations
- The image viewer completely ignores the concept of file system, it just uses nepomuk
- Same considerations for bookmarks, SLC and recommendations hold for the image viewer too
Here we go with brief showcase videos:
Of course those are just at the beginning and at proof of concept level, but they show the potentiality of this framework to build QML based “active apps” very, very quickly.