After Alexis has torn Plasma into pieces yesterday, some brave individuals svn up’ed, rebuild
kdebase and started putting the pieces backtogether. There are huge amounts of fallout right
now, but we’re getting closer to having some basic applets back. Currently digiclock, battery,
kickoff kind of work (modulo some layout problems in the panel), taskbar at least compiles
after some frenzy porting over the last hour. All this feels like a fast-track through the last
year-and-a-half through Plasma development. I can remember very well when we first saw a panel
and rudimentary clock appearing, the same happened today with much “ooooh” and “aaah” … :-)
broken again. Well, Plasma in KDE 4.0 was based on Qt 4.3. Qt 4.3 lacked the widgets-on-canvas
support Qt 4.4 has. That means that layout managers and widgets had to be written from scratch
for 4.0. Now KDE’s trunk/ requires Qt 4.4, including the widgets-on-canvas (WoC) support, we’re
able to use QWidgets, and maybe more important Qt’s layoutmanagers in Plasma applets and
containments such as the panel. So we were able to remove large parts of code in favour of
using Qt’s functionality — less maintainence burden, less bugs, less memory consumption and
all that included. And while that fixing of the WoC fallout happens, the next round of breakage is on the horizon:
Kevin, Richard and Aaron and The WhiteBoard have gone through all the classes in libplasma in order
to polish that, remove braindeadness and a couple WTF’s
in the code. The plasma API should become much more intuitive, easy to use and future-proof. The
downside being another round of breakage and fixing all over the codebase. We expect the results
of the API review to hit trunk/ later this week — including the breakage it introduces. After
that, we hope that libplasma is stable enough to have it move over to kdelibs, currently that’s
planned for the 4.2 timeframe. I’ve put the
results of the API review online. As to the “Which face does this SVN account belong to?”,
that’ll come later. Besides a working desktop, one needs something to look forward to. :P So if you’ve compiled trunk/ after yesterday and wondered what happened and why someone visually
bombed it back into the stone-age (last year ;-)), now you know why :-)
If you want to help fixing up things, update trunk/, join #plasma on freenode like others do
and fix obvious breakage. It’s not necessarily hard, but there’s quite some code crunching involved.
Do tell others on IRC what you’re fixing so duplicate work is prevented. Looking at the current
flurry of patches gives you a good idea what to replace with what.
Of course this is all done during Tokamak, the Plasma sprint in Milano where we’re hacking
on your favourite desktopshell since last Friday. More exciting stuff has happened, but more
about that later, and of course in other Plasma hackers’ blogs. Suffice it to say, we’re
mightly productive and very cool things are on the road ahead.