Jockey as a System Settings module

December 30, 2008

There is one thing that has sort of been bugging me since my involvement with Kubuntu. We have all these great configuration/admin tools written with python, but until now they are all standalone applications, and I couldn’t do anything about that.

Until now. Actually it’s more like 3 months ago, but python KConfigModules (KCM) required KDE 4.2. Yesterday Sime (Simon Edwards) posted a link to an example of a python KCM. A mere 20 lines of code later I had System Settings displaying a non-functional GUI.

(Click the image for a bigger version)

Then I worked on it all day, taking the guts of the jockey-kde script and adding it to the KCM in a way that would make it work. But after I finally got through the last syntax and AttributeErrors, guess what System Settings does. It crashes. 😦
Python crashes to be more specific. Either it’s a bug in PyKDE or I’m doing something really-evil-but-syntactically-correct. It could be the jockey-backend which runs in a separate thread causing issues. In fact, everything was working fine until I wired in the AbstractUI (jockey-lib class which populates any jockey-gui, regardless of toolkit) so I’m pretty sure that has at least something to do with it.

But if it did work, it would probably look something like this: (I hacked up a bit o’ code to populate the ui statically)

(Current, real jockey-kde on the left, mock of jockey-kcm on the right, click for full size)
Some notes:
-Definite mockup material
-Yes, there is no icon next to the driver name in the list, shouldn’t be a problem in the real thing
-Yes, the Ubuntu certification and License type are swapped. Easily changed but I’m too lazy to right now.

On the plus side it looks less like a super-vertical Gnome-style dialog and more like a KDE configuration module. (Because it is :P) If only there were a way to make the driver name not as long….

Pending that crash, I am pretty hopeful for a jockey kcm in System Settings for Jaunty. 🙂 Hopefully we can get system-config-printer-kde, the software-sources tool we are launching with adept, and and kde4 port of userconfig in as KCMs too. (I’m not personally involved with any of these… yet. :P)

Oh, and the source code. You can find the code here. Maybe some experienced pythonistas can tell me what the !@#$ I’m doing to make kcmshell/systemsettings/python crash…
To install/use it, copy jockey-kcm.desktop to /usr/share/kde4/services. Then make a /usr/share/kde4/apps/jockey directory and add mainkcmwidget.ui and to it. Run kbuildsycoca4 for good measure and then either launch it from the “System” section in the advanced tab of systemsettings or run “kcmshell4 jockey-kcm” from el konsoledoro. Expect it to crash. 😛


Loving KDE 4.2

December 5, 2008

Now that KDE 4.2 beta1 packages are finally done we can start using KDE 4.2! I think the changes are absolutely great. Nothing too radical, but the KDE team packed in a lot of features everywhere and it really adds up!

But before that, a bit about me. My dad has been using Linux since forever. I remember that we had Red Hat 5 running on our 486 and Pentium II computers when I was little. (Pentium II dual-booted Windows 95 since my mom used it, and the 486 had windows 3.1) Eventually my mom moved over to a piece of $^#% eMachines and I got a computer of my own, which of course had Windows XP. (Celeron by now) I did not want to switch because all my games used Windows. I started experimenting with linux a few years after I got the computer (Fedora Core, since my dad is a Redhat dood), but I always went back to XP for one reason or another.

I started playing games less, then I came upon Kubuntu. It was way faster than Windows plus is looked really great to boot. I mean, the panel was shiny! Kubuntu 7.04 finally got me to switch for good. I had a pretty standard desktop setup. Sorta looked like this. I had a two-row taskmanager with a two-row systray and some quicklauncher buttons, and it was perfect. I saw no need to tweak it beyond that point. Along with Gutsy came the era of compiz and I started to tinker with effects. Customizing was fun!

Then came along KDE4. I don’t know exactly how I learned about it the first time, but I started looking for more information about it and started liking what I saw. Widgets were cool! Useful! And come KDE 4.0 I would be able to easily have widgets on my desktop. This led to me finally installing KDE4 when it hit 4.0 RC1. Some concessions had to be made, yes. I was restricted to one row of taskmanager icons and everything was a bit buggy. But I saw potential. KDE 4.0 planted within me the seed of realizing what a desktop could do. KDE 4.1 came along with a ton of conveniences of conveniences and bugfixes, and now we are at KDE 4.2.

KDE 4.2


There is no doubt that Plasma is the face of KDE4, love it or hate it. In KDE 4.2, Plasma still offers all the cool stuff I saw potential in with KDE 4.0, but brings the “traditional desktop” experience to a complete circle of what I had in Kubuntu 7.04 and 7.10. After a bit of tweaking, this is what my desktop looks like right now:

I am using the Elegance theme because it is one of the only themes I can find that lets me have a two-row systray at a reasonable size. With KDE 4.2 I have pretty much everything that I had back in Gutsy. I have my QuickLauncher buttons and a multi-row taskmanager all in a sexy package. I have everything I had in KDE3 plus more, but I will focus on what’s new in KDE 4.2 from here out.

Plasma has gained a bunch of configurable features in KDE 4.2.

-The task manager has gained a buncha options:

-The panel configuration bar is much easier to figure out.

-For those who like it, autohiding is back

-The comics plasmoid has a crapton more comics since you can download comic plugins from Get Hot New Stuff. (<3 Dinosaur Comics, Get Fuzzy, & Penny Arcade)

-There are a host of new plasmoids everywhere. Including system monitors, pastebin widgets, a bouncy ball, a weather applet, calendar, character selector, file previewer and more.

-All KDE notifications are now displayed as toaster popups coming from the panel. They look better than the old grey boxes you’d see at the top of the screen in the past. They look much more integrated with Plasma.

-File copy jobs also appear as toaster popups, though they don’t currently show you file transfer speed yet. They will in KDE 4.2 though. The new systray notification system needs a bit of polishing, but I’m confident that it can be taken care of before KDE 4.2.0.

You really have to use it to get a feel for what is possible. Just about all the plasmoids have new features. I had fun yesterday exploring just what Plasma in KDE 4.2 could do. Then, hidden inside the screensaver settings, I found the “widgets on screensaver” option. Now that’s what I’m talking about. It’s ideas like these that will drive the desktop of the future, and now that KDE4 has a pretty solid traditional desktop implementation I can’t wait to see what radical new features are in store for later releases.

Here’s a picture of my screensaver:


KWin has also gotten a lot of love. The effects have been polished and optimized, and a few new ones join the group such as the Magic Lamp animation and the desktop cube. KWin in KDE 4.2 is now a fully-capable replacement for compiz for me, which I haven’t used since Gutsy. it has all the goodies one might expect and it integrates perfectly with KDE to boot. The windows are wobbly and the cubes are spinning over here, and I am happy. 🙂

I also have to add that the new shadows that active windows have by default are very sexy. Very subtle and elegant.


The applications themselves have been given a good polishing. Dolphin has nifty tooltips with previews, and thumbnail generation has been given a big speedup. Konqueror seems a bit faster too, though admit that I’d probably be using Firefox if Konqueror didn’t integrate so well…

There are several new arcade games, and my favorite game, KBreakOut, has gotten themes, which is pretty cool.

Ark has also gotten a bunch of great new features, including extract to/compress service menus for Dolphin and Konqueror. I really missed those.

KMail now looks plain sexy. My thanks goes out to the summer of code student who made this possible.

Overall, I am impressed by the amount of features that they packed in everywhere. I don’t have much to complain about even in beta. All the small touches add up to a great set of apps and a fully-features desktop shell. I can’t wait until KDE 4.2.0. 🙂