What is Toluu?
Toluu is a free service for sharing the feeds you read and discovering new ones.
Get Invite

aseigo

the triumphs and travails of a shift-key-challenged KDE hacker


file dialog jam sessionAugust 28
Celeste organized a little usability jam session on #kde-usability this morning for the file dialog layout. Gwenview's Aurelien and Benno Dielmann also showed up to take part along with Celeste and I. I noted from the start that I didn't have time for a massive redesign of the whole dialog, just to keep the ideas from getting wild and therefore unachievable with the time I have for this between now and 4.2's hard freeze.

The conversation flowed basically like this:
  • point out a target area to improve
  • enumerate possibilities
  • settle on which ones to try
  • have Aaron code it, screenshot it, upload it
  • have Celeste and the others examine the results
  • rinse, repeat
During the meeting, which lasted just under an hour and a half, we did this procedure eleven times. Which is more iterations that I expected given that we weren't working with mockups but actually moving code about, compiling, etc.

The eleventh iteration didn't result in a code/upload step, it's my TODO for next time I spend an hour of time on this: put the same label on the places sidebar as we see in Dolphin to make it obvious that this is synchronized across KDE apps (Dolphin, Gwenview, Kickoff ..)

Once I find time to do that, then we'll schedule another lovefest on irc and subject unwitting victims innocent users to the results for testing.

If you'd like










file dialog layoutAugust 26
Not that you could tell from my blog, but I do hack on things other than Plasma as well. ;) It seems that once or twice a year I end up spending some time on the file dialog, and it's apparently that time of year again.

Right now the All Powerful KDE File Dialog has a few unfortunate usability, visual and functionality quirks that diminish it's wonderfulness. (Is that even a word?) I didn't feel like doing anything too major to it as it's a proven model; that and I don't want to spend too much time on it either given all the other things I've got on the go. But still ... It needs a bit of love right now.

After fiddling with it a bit, I dropped an email to the usability list. Discussion ensued, and Peter Penz provided some data he gathered from user testing he'd done with it. (It's very nice how the number of people working on file management stuff has really grown with KDE 4.) I continued fiddling with things trying to improve the visual layout and make the order of things more correct (e.g. for scanning). Here is what it currently looks like on my disk:

kfd_layout_aseigo.png

I'll leave it as an exercise to the reader to see if you can spot all the modifications. I'm not quite done yet, but it's coming along nicely I think.

As a historical note, here's what the dialog used to look like a long time ago:













KTorrent + Plasma = Good TimesAugust 26
I just found out today that KTorrent ships with a DataEngine and Plasmoid. (Yes, sometimes I'm a bit slow. ;) Now I can watch my torrents progress without having to keep popping up the KTorrent window. Nice!

This inspired me to do a little bit of hacking on the applet this evening. When the icon is clicked, it now pops up the KTorrent window and if you drop an entry from KTorrent to the desktop KTorrent plasmoid is created.

Since KTorrent already has drag and drop support internally, all I had to do to get plasmoid creation working was add one line to the plasma-applet-ktorrent.desktop file: X-Plasma-DropMimeTypes=application/x-ktorrent-drag-object. Extra nice!

It took 17 lines of code, however, to have the plasmoid set itself to the dropped plasmoid. There's obviously room for improvement there in the Plasma API. Possible improvements might include a way to get at the drop data as text (would have eliminated 4 lines) and a way to query an engine for a sorce based on some data (QStringList DataEngine::sourcesMatching(const QString &key, const QVariant &value) would have eliminated another 6 lines). Those two additions would take those 17 lines of code and turn them into just 7.

It remains to be seen if these methods would have general purpose use outside of this one plasmoid, though. There's no point in expanding the Plasma API just for the KTorrent plasmoid ;) so it's an important question.

Finding and activating









plasma-midAugust 26
My current areas of interest for 4.2 for plasma can generally be lumped into the following categories:
  • Context: exporting the current activity and location to both plasmoids as well as other applications via Nepomuk (in progress; Nepomuk people were much more excited about this than I expected, usually I'm the excited one ;)
  • Services: continuation of the JOLIE integration which I've blogged about in the past, as well as tieing in service announcement, discovery and user negotiation.
  • Scripting: getting scripting to where it really needs to be; this is mostly being shouldered by the bindings crew, but I have some heavy lifting in the security and management areas
  • UI smoothing: big target is the Add Widgets dialog which is due for a major overhaul
  • MIDs, or mobile internet devices (yes, such as, but not limited to, the N Series devices)

This is, of course, in addition to the usual suspects like the wallpapers and panel hiding and new engines and widgets and ... and ... and ... thankfully the rest of the Plasma team seems to be as (hyper-)active as I often am. ;)

For the MID we've created a new Plasma "shell". If you're using KDE4, you're already using one such shell: the Plasma desktop workspace. A shell is simply a bunch of windows arranged in a way to provide access to all the goodies on the Plasma scene. The desktop shell provides desktop layers, panels, dashboards, panel configuration, e




kwin ftwAugust 25
Since I'm a little obsessed these days with software design that is adaptive, flexible and sturdy, it was with interest I read Lubos "Seli" Lunak's recent blog where he said:

"KWin's design is still about the same like in KDE2.0, and, apparently, it still just works. I can't see a problem with not having been designed from the group up for compositing, something that nobody even thought about at that time, yet getting there when the time comes"



That is really impressive as imeans that the code has the property of being able to go the distance by being easily extended and reworked without having to toss the whole lot.

What was really great to read in that same blog entry was that Seli has optimized KWin's performance and that it should now generally be on par with Compiz. Very, very nice.

We should keep in mind, however, that this is only half the battle: the effects themselves also need to be both performant and well tuned. The tuning aspect is actually more to do with the human perception than the CPU cycles in this case: non-linear animations (Sebastian, along with others, have done a lot of work in this area for KWin effects), animation timings (often shorter is better), functionality (I've given up on having time to go back to the coverflow switcher myself and implement mouse interaction =/ ) and little details like alignments and consistency ar