Hi Compiz Devs, as you might know I started about a year ago to implement a new theme engine for KWin called Aurorae. It is a SVG/Pixmap based engine. The theme format is SVG as soon as the SVG get's resized a pixmap is created and put into KDE's pixmap cache. This makes painting very fast while resizing kind of slow (not an issue with KWin as resizing is already slow ;-)), but at least for me it does not seem to be a problem anymore with KDE trunk. For the next KDE SC release I reworked Aurorae and changed from KCommonDecoration to KDecoration and switched from widgets to Qt's GraphicsView framework. In the process of this switch I was able to remove all kdebase-workspace dependency (I still use enums from KDecorationDefines, but they could easily be replaced/copied) and there exists a "designer" application which is able to show the themes without requiring a kwin dependency. Of course a dependency to kdelibs is required. For 4.6 I want to get Aurorae "feature complete" and remove the source from the kwin source directory and make it a shared library which provides binary compatibility. And that get's me to what I was doing this weekend: native Aurorae support for Compiz. Of course Compiz already supports Aurorae through KWD, but that has the requirement to have kdebase-workspace installed and in fact Aurorae from KDE trunk is broken with KWD at the moment :-) So attached you find the source code for "aurorae-window-decorator". It's currently just a proof-of-concept version and requires still some work, but I think I first need some directons from you. The issue I currently see is mostly related to the kwin specific padding (shadows) and translucency. I based the code on KWD and went for the reparenting approach, removing the pixmap related code. Now the background is not translucent and all the hacks I know of, do not render it correctly. I see that KWD is using KWin's PaintRedirector, so do I need to do the same or do you have any other ideas how to get translucency working correctly for reparenting decorations? The next issue is that the padding becomes part of the decoration and by that is clickable. Any ideas how we can fix this issue? In KWin we had added support for it in core. Looking at KWD it seems that you remove the padding, which is not realy nice as it renders the decorations using padding kind of broken :-( The next thing I would like to get input on is the configuration. I do not have any idea how compiz configuration is working. E.g. how should I add a theme selection dialog? Aurorae themes can be downloaded form kde-look.org, so a GHNS dialog would be something nice. In KDE trunk everything is available as a new KCM, so a possible approach would be to fork the KCM and remove all KDecoration related code. Concerning configuration I also do not know how the decoration should react on things like wheel events, double click, moving, etc. So those things are currently not yet implemented or hardcoded. Looking forwards to your comments and hopefully we will get Aurorae into Compiz, so that you have a theme engine again ;-) Regards Martin -------------- next part -------------- A non-text attachment was scrubbed... Name: aurorae.tar.gz Type: application/x-compressed-tar Size: 26371 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/compiz/attachments/20100516/f1089fb6/attachment-0001.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 316 bytes Desc: This is a digitally signed message part. URL: <http://lists.freedesktop.org/archives/compiz/attachments/20100516/f1089fb6/attachment-0001.pgp>