{October 27, 2010}   opensuse plasmoid workshop

okay, I promised I’d blog about this… me and Will did a plasmoid workshop on saturday. :)
There are no slides, because the whole thing was an interactive sort of tutorial, using this suse live image. In order to show off the qml bindings, we needed the latest kde stuff from trunk. The live-image gives us that, and a guaranteed working development environment in general. :) It also has the cool feature that it will write back to the usb stick, so you can shut it down without losing your work.

There were two example projects we worked through, one for javascript and one for qml. They’re both my old victorycalendar example, but with a bit of polish. :) The qml one doesn’t go all the way yet – just as far as I’ve figured out so far. :) We have lots more qml examples, though – iirc they’re hiding in the mobile shell in playground. And of course there are more javascript examples too. :)

To get my javascript example, run this command:
git clone git://
and, of course, change the js to qml to get the qml one. :)

I used git repos for my examples so that I could easily break them up into simple steps, and have everyone go through them in order. The idea is that you git checkout step01, and then each of the steps in turn (this was broken during the workshop but is fixed now). The git log has comments on each step, although not as much as in my blog. :) Also, if you make changes, you can either commit them or git stash when you want to jump to the next step. Later, I may add some side-branches with other fun features… I might also rewrite history, though, if I find a better way of doing something. If git refuses to pull someday, that’ll be why. :)

To test the plasmoids all you have to do is run plasmoidviewer in the folder containing metadata.desktop (or run it with the path to that folder). If you want to install it so that you can try it in plasma-desktop or other shells, use plasmapkg (there’s documentation, plasmapkg –help). To make it into a .plasmoid package that you can send to others, just zip it up. :)

Oh, and although most of the resources you’ll want are mentioned in the git log, I missed a couple:
The Plasmoid Package Specification
The Plasma JavaScript API

Have fun! :)

et cetera