[compiz] window decorations explained and how to move forward

David Reveman davidr at novell.com
Mon Apr 3 04:49:43 PDT 2006


On Sun, 2006-04-02 at 21:58 +0200, Sandro Giessl wrote:
> [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.

This definitely seems like something we want to support in the QT
decorator.

Thanks,

-David



More information about the compiz mailing list