Crystal kwin decoration

In June 2004, I developed and released a “transparent” window decoration for KDE, called Crystal, after it’s model, the Crystal FVWM theme, that added a lot of eye candy to the FVWM window manager. As FVWM Crystal, the decoration for KDE 3.5 made use of  pseudo transparency, which just used the wallpaper with nice effects to make the window decoration seem to be transparent, until real transparency became available in KDE 4 with the use of compositors.

Crystal-1.0.7 on KDE 3.5

The window decoration was a hit on, rocking the download list for window decorations for a long time and is still by far the most downloaded decoration for KDE 3.5 with more than 315000 downloads from KDE-Look alone. All projects are open source, code and binaries being available on its project page on or on GitHub.

Yes, I admit it’s pretty easy to set this deco up to make a desktop look like Windows Vista with it’s buttons and milky, transparent title bars. But I swear, I had not seen Windows Vista before starting to work on this theme and it’s not what I had in mind over the years. However, people can use it as they please.

Project pages

Crystal is copyright (c) by Sascha Hlusiak, 2004-2012.

Crystal for KDE 3.5

The first version of this decoration was only available for KDE 3 and made use of pseudo transparency. Standing out with this unique feature, the Crystal KWin decoration became very popular and eventually the default decoration in Kubuntu with KDE 3.5, from Dapper Drake 6.06 to 8.10, which only was available with KDE 4. Kubuntu also provided some very nice looking button themes, which were included upstream.

“Don’t forget to breathe, while drooling.” – Author

Crystal was included in every major distribution, including Ubuntu, Kubuntu, Gentoo, Fedora, Debian, FreeBSD, Mandriva and OpenSuSE, under the package names crystal, kwin-style-crystal or kde-windeco-crystal.


The crystal window decoration typically grabs the current wallpaper and uses it as its background for the window boarders and buttons. The user can select different blending modes for nice effects, i.e. it can fade the background into the defined title bar color, or it can brighten or darken the wallpaper, as well as blur the source image to simulate a glass-like effect.

Each button blending color can be individually changed, i.e. to make the close button light up in red instead of white. There are several button themes, many were contributed by third party. Especially I’d like to thank the Kubuntu team for prividing nice button themes.

The title bar and boarder sizes can be configured and round boarders can be set for each of the four corners individually.

“Holy hell

I can’t believe I’ve overlooked this theme for so long. By FAR the most attractive window decoration my desktop has ever acquired. So many tweaks, and they’re all stylish. Damn good stuff.” – comment

Usability enhancements

Several ideas were integrated to enhance usability with features, that were not available in standard kwin and other decorations. Some of these extra features include:

  • Right clicking on the minimize button toggles the shade mode
  • Middle clicking on the minimize button sends window to the back of the window stack
  • Double click on the menu button closes the window
  • Shows a tooltip of the window title when the mouse hovers the title bar or frame
  • An option to use the mouse wheel on the title bar to ‘scroll’ through all opened windows of the same desktop, similar to Alt+Tab
  • If kdocker was installed, right clicking on the close button would send the window to the systemtray, removing it from the regular task bar.

Of course, the Crystal window decoration for KDE 3.5 slowly died with the rising of KDE 4 and Crystal-1.0.7 is the final version.

I believe, I was my best customer though! I never updated my laptop to KDE 4, I used the same wallpaper all the time and always used my own crystal window decoration from when it was born in June 2004. Till February 2010, when my laptop eventually died and the decoration possibly lost its last active user… R.I.P.

CrystalGL for KDE 3.5

CrystalGL was a fork of the original Crystal decoration, trying to use OpenGL to speed up the eye candy and allow for nice effects and animations. It had about the same features and style but made use of extra OpenGL features, which made the decoration highly unstable and experimental, because kwin was not happy of a plugin using OpenGL. The stability depended on the OpenGL driver and deadlocks on startup were quite usual, it worked best for me on Intel platforms.

Main feature is the bended wallpaper to simulate refraction, which looked amazing when moving the window slowly over a structured wallpaper.

 “Absolutly stunning

Very nice, I have NEVER seen anything like this on the desktop.
I hope everyone who rates this poorly falls on a sharp spike.” – comment

Because of its eye candy, the deco got quite some attention, but because it was always beta and I gave up efforts to fix the problems, it never became too popular and remained a proof-of-concept and a lot of fun to play around with it.

I was not fit for daily use and died with Crystal with the end of the KDE 3.5 era.

Crystal 2 for KDE 4

In February 2008 I released Crystal-2.0.0 for KDE 4. Because KDE 4 is not compatible with KDE 3.5, Crystal essentially had to be rewritten as well, the first versions being a big step backwards from the KDE 3.5 version. Most noticeably, KDE 4 did not support fake transparency anymore, so Crystal’s unique feature was lost, main reason for its eye candy and popularity.

With Crystal-2.0.4, the decoration was able to use transparency again, this time for real, but required a composite manager and a working OpenGL acceleration. The effect looked much nicer though and you were able to see videos or animations through the window frame. Along with KWin’s ability for drop shadows, this deco looked quite nice again, but because the features were built right into KWin, Crystal wasn’t the only customer and had tough competition. Sadly, without compositing KDE and its decorations can’t compete with the speed, look and feel of KDE 3.5 so make sure you have recent enough hardware and compositing enabled, for transparency, shadows and blur.

Since Crystal-2.0.6 it even supported KWin’s ability for blur transparency, giving Crystal a nice milky look, that enhanced usability.

You brought me back those memories of KDE 3.5.8 running under Gentoo, in 2004! The Crystal style is as solid and configurable as before. The only real change is the switch from fake transparency to true Composite transparency, and it looks awesome.
From a long time Crystal user, in the KDE 3 era.” – comment

Since version 2.1.0, Crystal supports the tabbing feature that was integrated into KWin, mostly known from fluxbox-like window managers. Since version 2.1.1 or 2.2.0 (for KDE 4.9), crystal renders its own shadows, which brings back some more eye candy.

The Crystal package for KDE 4 is still being worked on and is shipped with most major distributions. Please see the project page for updates or follow the project on GitHub!