< Projects
Revision as of 18:17, 16 September 2012 by Sam (talk | contribs)


This is a starting page for all relevant KWin documentation, most of which is stored in SVN or on external WWW pages.

General information

Developer information

Hacking on KWin itself

Refer to the KWin section of the KDE Community Wiki.

Creating Window Decorations

The libkdecorations library shipped with KWin allows developing new third-party window decorations in C++.

  • tutorial (Based on KDE3.2 and as such slightly outdated, but still usable for newer versions. Note that new decorations should subclass KCommonDecoration, instead of using the KDecoration class directly like this tutorial does.)
  • API documentation

A simpler (but less powerful) alternative is to create a theme for one of the existing themable decorations:

  • Aurorae - themable with SVG images (how-to)
  • deKorator - themable with pixmap images
  • Smaragd - themable with Emerald theme files (from Compiz/Beryl)

Creating Desktop Effects

The libkwineffects library shipped with KWin allows developing new KWin compositing effects (known as "desktop effects" to users) in C++.

There is also a limited API for developing effects in JavaScript...

Creating Window Switcher Layouts

KWin's default Alt + Tab window switcher can be customized with new layouts written in QML.



KWin's scripting system allows customizing/automating the properties and behavior of windows through JavaScript or declarative QML.


  • CONFIGURING - document on advanced KWin configuration (such as pre-configuring window-specific settings).

This page was last edited on 7 February 2013, at 08:34. Content is available under Creative Commons License SA 4.0 unless otherwise noted.