Friday, April 03, 2009

a bagful of dates

As you probably know, KDE 4.2.2 was released today. It has a whole bunch of bug fixes and translation updates and is quite a worthwhile upgrade if you haven't done so already.

On IRC last night, people started popping into #kde as the 4.2.2 packages hit their distribution's repositories. The big themes were how many bugs had gone missing and how much better the performance was.

Always nice when there's a really great release on the rails. :)

Of course, we aren't stopping there: I assume there'll be a 4.2.3 (more Plasma and KRunner fixes were backported after 4.2.2 was tagged) and the "soft" feature freeze for 4.3 hits us in just 5 days! That means that any features that aren't on the official TODO list can't go in. This is the first step towards a hard feature freeze a few weeks after that. Then it'll be bug crunching time to get 4.3 looking and working great.

Speaking of bug crunching, the KDE Bugsquad is turning 1 year old and they are having a KMail crush-a-bug-a-thon this weekend. Join in the fun to help 4.3 be even better!

The Google Summer of Code deadline is also upon us tomorrow, so students really need to get their proposals in ASAP if they haven't already. We have a lot of Plasma proposals which is both good and bad: it means we'll have lots of great stuff to pick from, but it also means we'll end up turning some good proposals away as well. (Unless Google ends up feeling extra helpful this year ;)

Having noticed that there were a few rather good proposals for a dock-style panel, I got to thinking about what would be needed to support such a project. Plasma's design can handle it quite nicely with a PanelContainment; I personally think it's really silly that people have to pick a whole different application just to get a dock due to design limitations and/or annoyances in other desktop shells. Sort of like how I feel sad watching people post multi-page blogs about how to set up this or that system monitor on their desktop when it's a couple of clicks to get something that looks even better in a fraction of the time with Plasma. Anyways ... thinking about the Dock I remembered something a bit "funny":

While the framework supports the idea of different types of Containments for Panels that can behave as differently as they want to ... the "Add Panel" menu entry could only add the default Panel containment. Which would make the dock thing all a bit an academic exercise: sure, you can write it, but then it would be off to the config file with a text editor to try it out. ;)

So today I changed that and now we query the system to see what panel Containments are available. If there is only one, it just shows a single "Add Panel" menu entry. That one panel Containment doesn't have to be the default one, though. It could be swapped out for something completely different by changing just one .desktop file around.

If there are multiple panel Containments, you now get a menu listing the options which you can then pick from. Voila, problem solved.

There's some code duplication going on in there, but if Chani's menu plugin SoC project gets the nod then that too will go away.

Not all was happy in the land of Plasma, though. Artur discovered that if you dragged an extender into a Firefox window it would just ... disappear! While it was a funny way to get rid of the calendar in one of the clocks, this was rather surprising to say the least. It turns out that Firefox quite stupidly accepts anything dragged over it, regardless of mimetype. I'm pretty sure that Firefox doesn't know what to do with a plasma/extenderitem mimetype, after all. ;) However, they one-up'd their own sillyness by also accepting the drop and then marking the drag object as having been moved (ergo the extender just disappearing) ... even if Firefox actually ends up ignoring it. What?! It was a simple one-liner work around in Plasma, but I was pretty shocked by the behavior of Firefox. It was the only app we could find that did this. *sigh*

Speaking of extenders, in 4.3 the dragging is really, really smooth and nice, they can be grouped and then expanded or collapsed (so no more mile-high stacks of Kopete announcements :) .. I'm really happy with how they have matured since their arrival in 4.2.

5 comments:

Milan said...

(so no more mile-high stacks of Kopete announcements :)

Nice to read that part, they're sometimes really annoying. ;)

DanaKil said...

Speaking about better performance, I recently svn-uped my kde from trunk, installed nvidia's driver beta, replaced Oxygen for Skulpture and... it was a lot smoother !

Don't know if it is the driver, QT 4.5 or KDE (surely all of them alltogether) but I'm glad KDE4 is becoming really usable for me :)

note that I'm not sure if Oxygen has something to do with bad performance but Skulpture is quite nice :)

JontheEchidna said...

I think I called it "The Leaning Tower of KNotify".

Carl said...

Excellent work, Aaron. I've been the local KDE4 test user since the first release. Remarkable how far things have come, and how the KDE4 vision continues to come into focus like a hologram.

Thank you for your efforts and leadership.

Carl

Raffaele said...

"Nice to read that part, they're sometimes really annoying. ;)"

Oh yeeeeeeeeeeeeeeeees!