NewsForge | Karamba, what an attractive desktop!
Monday March 21, 2005
By: 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
Weather info 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.
System monitor 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.
Taskbar 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.