Plasma active device profiles documentation


The thing we always stressed out in Plasma Active is how the system is designed to fit a whole device spectrum, even if the first two releases are explicitly about tablet devices (and in the near future this is not likely to change 😉

But how? it’s pretty obvious that one user interface doesn’t fit all for sure. Some devices, like mobile phones could share let’s say the 60% of the QML UI written for the tablet, some other, let’s say set top boxes could need something radically different.

The Plasma Active shell is actually something that doesn’t provide any user interface at all, but instead provides some basic features in the logic: manages the user Activities and loads the plugins that will provide the actual user interface, assembled like a LEGO to fit the user experience of a particular form factor.

About user interface plugins: the central parts are Containments and Applets, that are familiar from Plasma Desktop, a new one is a package format used to distribute stand alone QML files sets, and a very important one in the Plasma Active shell is the Home screen.

The Home screen package is a set of qml files that behaves the basic behavior of a Plasma Active shell, such as how Containments are managed, and manages other pieces of user interface such as the activity switcher, the top panel, the application launcher and the recommendation overlay. So by changing this it’s possible to change a lot of the behaviour of the Plasma shell (a particular device could also require a different plugin for the main containment, as they are different between Plasma Desktop and the tablet version with its browser of Nepomuk resources)

To make easier for developers that are interested in new form factors to heavily customize the look and feel of Plasma Active, I’ve put together a wiki page that describes how to proceed writing a new homescreen, and what is the API used in the communication between the shell and the QML part.

2 thoughts on “Plasma active device profiles documentation

  1. javier

    I’ve been looking at the xbmc clone the Trolls have written in QML (qtquick2) – .
    It is quite a neat design (tip – try the shroomfluence skin) and shows how anyone can create a qml app which imports a cpp library as a backend and allows to load any custom skin you like as a gui. It will be awesome if your design works like this as anyone could tweak the qml ‘skin’ in realtime and radical new desktop designs could be created in an afternoon, they could even make it look and behave like xbmc if they liked. I think what you and the qt5 people are doing is great and I can’t wait for kde4.9/5!

  2. javiiver

    Very good stuff, only one suggestion, connect sounds s bit like it’s going through network, maybe “attach” or “relate” or “associate” would be better.

Comments are closed.