Biz & IT —

GNOME theme engine designer adds transparency to GTK

GNOME theme engine designer Andrea Cimitan has implemented support for transparent widgets in the Murrine GTK theme engine, bringing Vista-like translucent glass effects to the GNOME desktop. Cimitan used RGBA colormaps to implement the feature and says that, with only 10 or 20 extra lines of code, translucency can easily be added to other theme engines that support RGBA.

The work that Cimitan has done with the Murrine theme engine since its initial creation often demonstrates the power and flexibility of the GTK widget toolkit. The Murrine theme engine offers advanced features like striped scrollbars and rich gradients. Cimitan says that the addition of translucency effects proves that critics of GTK are wrong. "[I]n the last week I've seen a lot of people claiming about 'lacks' of Gtk+ capabilities," wrote Cimitan in a blog entry. "Some of them still think that Gtk+ doesn't have RGBA support...or it will require nasty hacks. This is absolutely false."

The translucency effects obviously require a compositing window manager, but the theme engine is designed so that the widgets will simply be rendered without transparency when no compositing window manager is present.

Although Cimitan has published screenshots demonstrating the new Murrine features in several applications, the source code has not yet been officially released. The translucency was added to a special development version of Murrine that is not yet ready for public scrutiny.

Support for transparency in GTK theme engines is a very impressive step forward for visual effects in desktop Linux applications. "This could open a world of alpha-capable gtk+ applications with no-need of draw[ing] custom widgets, as the Gtk engine already draws them," Cimitan notes, "And yes, it is FAST!"