Team LiB
Previous Section Next Section

Hack 37. Ai Karamba! Flashy KDE Gadgets!

Spiff up your KDE desktop with various information panels and interactive gadgets.

This tip involves two programs, karamba and superkaramba. The author of the original program, karamba, is Hans Karlsson (karlsson.h@home.se). The karamba project started out as a clone of a Windows program called Samurize, which displayed system information, such as system temperature, network traffic, CPU activity, etc., in attractive ways. The primary function of karamba was to display similar information on your KDE desktop, and it did it with such flair and style that it attracted a huge number of hackers to create more inventive and attractive ways of displaying various types of information, such as local weather data and forecasts.

But karamba had one notable limitation. The gadgets were pretty, but not terribly interactive. You could configure them and display them, but that was all.

Adam Geitgey (adam@rootnode.org), with a little help from his friends, took karamba to new heights by creating superkaramba. This handy utility introduced the ability to interact with the gadgets, combining the artistic appeal of the karamba gadgets with live action. One of the first things hackers did with superkaramba was to create much more attractive alternatives to the KDE panel, task switcher, and launcher. Indeed, some superkaramba supercharged desktops are so customized that it hardly looks like you're running KDE at all.

Figure 5-1 shows an example of a superkaramba-transformed desktop. It replaces the panel with a custom blue kicker (application launcher) and various statistics about your machine (CPU usage, etc.). A separate superkaramba applet replaces the taskbar with a subtler version at the top of the screen. In addition, there is a chrome clock and an animated weather applet. Click the cloud or a forecast day to see it will whirl around into a summary of weather for that day.

Figure 5-1. KDE with superkaramba


It is generally easy to find prepackaged versions of superkaramba for most Linux distributions. Debian and Gentoo Linux include superkaramba as a standard package you can download. You might get the best results by searching the Internet yourself, but you can find a Red Hat 9 superkaramba RPM at http://www.kde-look.org/content/show.php?content=7774. This package reportedly works for Mandrake, too. You can find a number of SUSE RPMs for superkaramba at http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=/Utilities/superkaramba.

Not all the prepackaged versions are up-to-date, and many of the nicest gadgets require the latest version. If you can't resist some of the latest and greatest gadgets, download the latest superkaramba source code from http://netdragon.sourceforge.net/ and compile it yourself. (You can also find some of the latest gadgets at this site.) Sooner or later, you'll also find the latest RPMs at the SourceForge.net site.

The superkaramba program depends heavily on the Python language (it won't work without Python installed). Many of the gadgets for superkaramba employ features available only if you have the Python extensions for KDE and Qt installed, too. I highly recommend that you make sure you have these extensions installed in addition to superkaramba itself. They are generally called PyQt and PyKDE, but your distribution might package them under very different names.


If you want to get an idea of the diversity of karamba and superkaramba, browse the site at http://www.kde-look.org/index.php?xcontentmode=38, where you will find pages upon pages of available system monitors, clocks, launch bars, and countless other gadgets. superkaramba has been maturing over the years. Many new gadgets now include a configuration menu for customizing the gadget, whereas older gadgets still force you to edit configuration files. I recommend placing your superkaramba gadgets in a single location such as ~/gadgets.

The one place you should not use as the location for your gadgets is ~/.superkaramba. This is a special directory that superkaramba creates and uses to store settings. If you try to store your gadgets there, superkaramba simply will not work.


For this example, download ChromeClock, which you can preview at http://www.kde-look.org/content/show.php?content=12972. You can download the file directly from http://www.kde-look.org/content/download.php?content=12972&id=1.

Create the ~/gadgets directory, and then download your gadget (the downloaded file is named 12972-ChromeClock.tar.bz2) and extract it to ~/gadgets:

$ mkdir ~/gadgets
$ tar jxvf 12972-ChromeClock.tar.bz2 -C ~/gadgets

This creates a subdirectory called ~/gadgets/ChromeClock, which holds the ChromeClock files. One or more of the files it creates will have a .theme suffix. This is the file you launch with superkaramba. If there is more than one theme file, you can try launching each one separately. Each probably represents preconfigured combinations of different features.

Assuming you are currently running KDE, just issue this command to launch this gadget:

$ superkaramba ~/gadgets/ChromeClock/ChromeClock.theme

A clock should appear on the desktop. (If you don't see it, you might have to switch to an empty desktop!)

Right-click the clock and you should see menu selections to configure the clock, lock it into position, and update the configuration so that it remembers your settings. If you really like the clock once you have it configured to your tastes, you should configure it to start automatically when your desktop loads [Hack #72] .

Another way to start a superkaramba gadget is to issue the command superkaramba with no arguments. This should bring up a screen that looks like the one shown in Figure 5-2.

Figure 5-2. SuperKaramba program


Click Open... and a KDE file dialog will appear to let you navigate to any directory that contains a superkaramba theme.

Now that you've had a taste of superkaramba, visit http://www.kde-look.org/index.php?xcontentmode=38, browse through the selections, and try some of the more versatile and interactive gadgets.

Be careful not to download a gadget that requires a later version of superkaramba than the version you have installed, unless you are prepared to compile and install the latest version of superkaramba itself.


    Team LiB
    Previous Section Next Section