March 21, 2005

Karamba, what an attractive desktop!

Author: Olaf Piesche

In the last couple of years, the development teams of the various
desktop environments, such as GNOME and KDE, have made great strides
in the right direction to making the Linux desktop more attractive
and visually pleasing. Just with a standard KDE install, I get the
occasional "Hey, that looks nice" from friends. When I discovered a

program named Karamba for KDE a while back, that suddenly changed to outright "Wow!"

SuperKaramba is an application that lets you place "themes" on
your desktop, somewhat similar to the Windows application Samurize or

Konfabulator for Mac OS X. But SuperKaramba themes are like
mini-applications that live in their own windows on the desktop background,
performing different tasks.

Karamba was originally developed by Hans Karlsson in 2003, and
eventually Adam Geitgey took over development and changed the name to SuperKaramba.

SuperKaramba allows for some really cool stuff.

Installation, however, can be a problem. With a proper RPM,
installation should be a snap. However, some of the RPMs available for

SuperKaramba don't seem to contain the proper dependency lists, so that a
SuperKaramba needing Python 2.3 can actually be installed and run

with a Python 2.4 installation. Afterwards, SuperKaramba simply doesn't
work as expected, so that a reinstall is necessary. Installation from

source is fairly easy on a properly configured system. Having a
Python 2.4 install, things were a little tricky for me, but after finding
a source tarball it took me a total of about 15 minutes to install
SuperKaramba.

Looks that kill

SuperKaramba runs unobtrusively in the system tray with an icon of
a small black bomb. Things start to get interesting once you right-click on that icon and choose Open New Theme from the popup menu.

The user interface for SuperKaramba themes is defined by a markup
language, in which the various user interface elements are loaded from PNG files, placed, possibly color-tinted, and more. This allows for
some interesting effects, as shown in the screenshots. SuperKaramba
themes encompass everything from neat, techy-looking system monitors
to calendars, e-mail notifiers, and more. Through the use of the alpha
(transparency) channel in PNG images, many of the downloadable themes
integrate well into most desktop environments, be they minimalistic or gaudy. Having a system monitor, calendar, and analog clock running
on the desktop background can look really cool.

Gorgeous eye candy, however, is not all that SuperKaramba and its
themes are good for. SuperKaramba provides a number of predefined

sensors to themes, such as disk and memory monitors and network
throughput. Themes can use these sensors by placing a specific tag in the

markup that describes their look, in order to have the desired
information displayed, with a choice of images and text.

The real magic happens, however, in a Python script that you can
associate with any theme. The markup language allows you to define clickable areas that can be associated with event handlers in the
script, which can then, in turn, change the theme. In other words, themes
can be fully interactive, reacting to user input and performing any
action a Python script is capable of, including interacting with the
system through command line tools and other scripts.

Liquid what?

One of the most popular SuperKaramba

themes is LiquidWeather++. After opening the theme, a right-click
on the theme window opens a pop-up menu from which you can

reach the Configure Theme submenu. You can enter a location code (for
example a ZIP code), and, if you have an active Internet connection,

LiquidWeather will connect to the weather.com server, download the
weather data and five-day forecast for the specified location, and

presents a nicely styled display of the data. You can change and
customize the display to fit any desktop environment.

Monitoring themes are among the most common for SuperKaramba.
Fantastik is one of the first ones, available in many different styles.
Fantastik displays current information about the system, such as free
disk space and memory, e-mail notification, as well as network
activity and CPU load in nice graphs. This might seem like a redundant
addition to the monitoring tools that come with pretty much any Linux
distribution, but it is actually quite useful to have this kind of

information displayed at a single look, without having to click through
menus. You can add an email server and login information in the script.

The theme uses a Perl script to check for email and display
notification. In my eyes, this should be available through the configuration

menu; making the user change the theme itself might be intimidating to
less technically savvy users.

Still kicking!

For users who don't like Kicker, the KDE taskbar, there are
several taskbar replacement themes, such as Kroller, which exhibits Mac OS

X-like smooth zooming icons and a different look and feel. There are
a variety of differently styled task bars and program launchers

available.

An interesting theme from the launcher category is iLaunch, which,
although it displays only a single icon on the desktop, can 'hold' and start any number of applications by switching through them with the
mouse wheel. This is a great idea to save space on the desktop and
make applications accessible quickly in a common location.

Other themes available include control sets for the most common
media players (such as Noatun, Amarok, Xine, and XMMS), RSS feed
displays (Slashdot headlines on your desktop, anyone?), TV guides, various
analog and digital clocks, calendars, auto-hiding program launcher

sidebars, and even a theme that downloads and displays lyrics for
whichever song is currently playing in XMMS.

Any theme can be placed anywhere on the desktop to integrate with
the rest of the environment. Themes can be locked in place to prevent

accidental moving and closed at any time.

SuperKaramba's memory and CPU time usage is fairly moderate.
According to top, with four themes opened, SuperKaramba

occupies approximately 20MB of memory on my system, and uses around 0.3%
to 0.5% of my Athlon XP 1700+'s time. Your mileage may vary with

different themes.

There also seem to be problems with saving the current
configuration. When I restarted SuperKaramba through KDE's session manager when

logging out and back in, the themes that were opened were not
automatically reopened. When you manually open them again, they do appear at

the positions on the desktop and with the configurations they had
when logging out.

Overall, SuperKaramba is a worthy addition for any KDE desktop. It can not only add the wow factor to your environment, but also make many small tasks easier and provide some new ways to go about them. The level of desktop customization it allows via the themes available for download on the Web is a joy for every tinkerer, and the themes' simple structure make it possible for the technically inclined to write their own.

Olaf Piesche was born in Germany, and moved to the U.S. in 2000. He works as a C++ software engineer, mainly in 3D graphics.

Click Here!