[compiz] window decorations explained and how to move forward

Sandro Giessl sandro at giessl.com
Sun Apr 2 12:58:18 PDT 2006


[sending again, hopefully without moderator approval now]

On Sunday 02 April 2006 04:43, mark at usefree.org wrote:
> --- David Reveman <davidr at novell.com > wrote:
> >I believe that a new theme system
> >is necessary. How this theme system should
> >be is currently beyond me,
> >SVG-based and shared between gtk/qt seems
> >appropriate, though.
> >
> >Full KDE integration is not a huge leap.
> >We need to get the kde window
> >decorator in a working state and we need a
> >kde configuration plugin.
>
> Sandro Giessl, author of KDE's Plastik theme, is
> working on a new SVG-based theme library called
> CoKoon:
>
> http://websvn.kde.org/branches/work/kde4/playground/artwork/cokoon/

Thanks for bringing this up, Mark.

Basically, as Mark noted, CoKoon aims to be a flexible SVG (and pixmap...) 
theme engine framework.
Since it's not possible to define layouts in SVG, CoKoon's approach is to
- Pick plain SVG files (source)
- Define areas within this source (tiles)
- Put together custom table layouts. Within a layout, cells can be fixed or 
expanding (tiled, or stretched...).

To make everything as flexible as possible, there's an interesting concept of 
multiple object state "levels", and "Expressions". All this results in nicely 
scalable themes which are able to respect color shemes.

To get an idea of how theme files look like, see

CoKoon specification for a window decoration, and a window decoration theme 
(working, but it requires Qt 4 and KDE 4 from SVN):
http://websvn.kde.org/branches/work/kde4/playground/artwork/cokoon/decoration/CokoonDecorationSpec.xml
http://websvn.kde.org/branches/work/kde4/playground/artwork/cokoon/decoration/TestTheme.xml

Various test themes which might be easier to understand:
http://websvn.kde.org/branches/work/kde4/playground/artwork/cokoon/lib/tests/ThemeWidgetSpec.xml
http://websvn.kde.org/branches/work/kde4/playground/artwork/cokoon/lib/tests/ThemeWidget1.xml
http://websvn.kde.org/branches/work/kde4/playground/artwork/cokoon/lib/tests/ThemeWidget2.xml
http://websvn.kde.org/branches/work/kde4/playground/artwork/cokoon/lib/tests/ThemeWidget3.xml


Currently, the library is based on Qt4 and I aim to integrate it into KDE 4 
(window decorations, widget styles, maybe replace "hardcoded" stuff like the 
Amarok eyecandy). A theme editor application is planned as well.
It shouldn't be *too hard* to write an interpreter of the CoKoon format for 
other toolkits...

> Perhaps this can be used with Compiz?

Currently I don't have the energy to push this (doing my german "Abitur" soon, 
busy till June or July).
But at least till KDE 4 is released, I hope to have stabilised the theme 
format (taking all the use cases into account...), have written lots of 
documentation and *maybe* have released some sort of specification of the 
format.

At some point, maybe I can be involved in a CoKoon theme engine for Compiz's 
Qt-Decorator.

Regards, Sandro
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/compiz/attachments/20060402/a86d5137/attachment.pgp


More information about the compiz mailing list