I have been really lazy to write anything here for quite some time now. I enjoyed the simple life away from the blogocube (it’s actually a dodecahedron, but blogododecahedron is a mouthful) but now I’m back.

I’ve realized that I’ve made more commits to Kickoff since Tokamak 3 (mostly related to krunner integration) than to Lancelot, which is just plain wrong. So, I decided to change that and do something I was planning for quite some time now - a huge refactoring.

Puck

The first thing I noticed is that the Puck (Plasma UI compiler used in Lancelot) modules are rather outdated and reflect Lancelot widgets from the old liblancelot and not the new liblancelot2 so it got updated. It was rather cool to see that despite that, Puck still worked and didn’t break the build.

Puck will eventually (read: when Qt Declarative UI becomes stable and Plasma-integrated) be abandoned and left to rust, but ATM it seems a not so near future.

libLancelot and libLancelot-datamodels

The next step was the /fork/ from the title. The data models (aka every item list you see in Lancelot) are moved into a separate library called liblancelot-datamodels. Both libraries (liblancelot and liblancelot-datamodels) now reside in kdeplasma-addons/libs so that they can be used by any other plasmoid (or any other program for that matter).

This is a way of saying “liblancelot is now considered stable enough to be used even outside of Lancelot”.

It wasn’t only a simple move from one place in SVN to another - both libs received some beautifying, fixing, got pretty meta-includes just like all KDE libs have, so you can now do a #include <Lancelot/ExtenderButton> instead of writing the full path of the header file…

Ok, I got bored writing, so this is all for this post now, expect a couple more soon - there are two top-secret projects that need revealing. Cheerio!