Tokamak 3: My summary
First of all, let me just say that Tokamak 3 experience was more fun than riding on a carrousel under the influence of LSD (or so I heard) and more strange than some of the episodes of the Monty Python’s Flying Circus (which was, by the way, quoted many times – mostly by Aaron and me).
All kudos go to Mario, the father of our big Takamak family, and all in all a swell guy. We taught the Brazilians (Ana and Artur) what snow is, and I think they will remember it for a long time
Ok, enough about the fun parts. You were/are able to read about many things that were done during T3, so I’ll not bother you with the others’ work. I’m just going to write an update to the last post.
KRunner + Kickoff
Kickoff in trunk now uses KRunner as its search engine. There are a few bugs and a few concerns about functionality that will be resolved soon.
At the moment, all runners in KRunner are active in Kickoff as well, but that will change since we’ll need to make a whitelist of approved runners to avoid Kickoff crashing the plasma-desktop process on an error in KRunner. This means that Kickoff’s search will be less powerful than the KRunner and Lancelot, but that’s the price of running in the plasma-desktop process.
Plasma + Nepomuk
The service for activities runs well and is located in the playground, and so is the testing client.
The current work is to completely integrate it into Plasma which has proven to be more complicated than I expected at first. The thing that makes it hard is the need of libplasma to stay API and ABI compatible. The Plasma::Context class has been introduced some time ago, but it did nothing and some methods defined in it weren’t sufficiently granular.
At first I tried to implement everything with no API changes, but I’ve hit a wall very soon and had to deprecate a few methods, and introduce a new class named GlobalContext. It seems to work, so I’ve now switched on to implement the handlers in the plasma-desktop. I hope to have it working till the end of the week so that I could post it all for an API review.
Favourite applications
I was hoping to have more time to talk to Ruphy about making a library for handling the usage data and favourite applications handling (to be used in Raptor and Lancelot… and possibly in other menus) but Ruphy could stay for only a few days. I’ll have to start the discussion about this on plasma-devel when I finish the activity stuff and when I look the relevant parts of Raptor’s code.
Photos…
Photos will come later… hopefully from other guys and gals aswell (torrent comes to mind)


Everything I’ve read about Tokamak sounds really great. Thanks for your hard work.
You mentioned the plasma-desktop process… here’s a thing I always asked myself: Why isn’t each containment a separate process?
In 4.3.0 Lancelot had a bug concerning Kopete integration and hundreds of requests to Kopete per contact. That locked the whole desktop.
That bug is fixed, but what about other misbehaving plasmoids?
Running each plasmoid Chrome-style in a separate process is probably hard, but is it also hard for containments?
Comment by Markus — 7 September 2009 @ 00:33
@Markus: Making containments run in separate processes is as hard as making applets to do so. The containments are, after all, specialized applets, and nothing more.
As for the L+K bug, it couldn’t lock the desktop unless you used the Parts applet. It could drain the CPU so that it looks like everything is locked. So, there’s no benefit in separate processes in that case.
Comment by Ivan Čukić — 7 September 2009 @ 01:00
It always did annoy me that Kickoff wasn’t as smart as KRunner, since I pretty much use the two the precisely same way (outside of favorites and power down, I never use the Kickoff menus). Thanks for fixing this.
Comment by Ian Monroe — 7 September 2009 @ 14:56