Review Request for KDecoration

Martin Gräßlin mgraesslin at
Fri Oct 31 07:22:53 GMT 2014

Hi KDE core developers,

today I want to start the review process for the new KDecoration library[1]. 
This library is intended to replace the window decoration library used by KWin 
and addresses some of the shortcomings we hit with the existing library.

The library is a tier 1 in frameworks speak. It consists of two parts:
* a public library to create decorations
* a private library to create the backend (used by KWin)

After the review the repository will be moved under KDE/Workspace and see its 
first release in Plasma 5.2. In theory it would also be a fit for frameworks, 
but KDecoration uses C++11 features not allowed in frameworks.

If you want to give the whole thing a try you need some further development 
branches and repositories:
* kdecoration-viewer provides a small tool to preview a decoration. Usage:
  #> kdecorationviewer plugin [theme]
* Breeze [3] provides a new KDecoration theme. Once installed one can use it 
in kdecoration-viewer:
 #> kdecorationviewer org.kde.breeze
* KWin [4] is ported to use the new KDecoration library and tries to load 
org.kde.breeze by default. Also the Aurorae theme engine is ported and the 
configuration module. You can switch the decoration used by KWin in 

What's still missing:
* A window tab API. I have some ideas on how to do it, but want to wait for 
the first drafts for DWD to not stupidly block some possibilities. My ideas on 
how to integrate window tabs can be done in a ABI-stable way for the public 
* Better support for OpenGL based decorations (e.g. QtQuick). This needs to 
wait till Qt 5.4. Qt 5.4 will finally allow to share with non QOpenGLContext 
and that will hopefully allow to make better use. Once I have a Qt 5.4 setup 
and experimented with it I'll draft an API for this. Most likely this will end 
in a specific subclass exposing new virtuals.
* Various pieces in KWin, especially in the configuration area. Help is more 
than welcome :-)

Best Regards
Martin Gräßlin

[1] kde:kdecoration
[2] kde:kdecoration-viewer
[3] kde:breeze (branch graesslin/kdecoration2)
[4] kde:kwin (branch graesslin/kdecoration2)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the kde-core-devel mailing list