This theme manager should handle installing, removing and creating global visual KDE themes. It's written from scratch, totally unrelated to the old kthememgr which was not maintained and obsolete. *** WARNING *** The XML file format is still subject to change! *** WARNING *** (c) 2003, 2004 Lukas Tinkl <lukas@kde.org> A KDE theme consists of: ======================== - wallpapers or bg colors - icons - sounds - color scheme - cursor theme - window decorations - screensaver - name of the widget theme - themed apps (mainly Konqueror and Kicker) Sample XML theme config file: ============================= <ktheme version="1"> <general> <author value="Me" /> <email value="me@home.com" /> <homepage value="http://me.home.com" /> <version value="0.1" /> <comment value="this is a nice theme, bla bla" /> </general> <desktop number="0" common="true|false"> <mode id="Flat|Pattern|*Gradient" /> <color1 rgb="#123456" /> <color2 rgb="#123456" /> <blending mode="" balance="" reverse="true|false" /> <pattern name="fish" /> <wallpaper url="theme:/wallpapers/desktop/image.jpg" mode="Centred|Tiled|CenterTiled|CentredMaxpect|TiledMaxpect|Scaled|CentredAutoFit" /> </desktop> <icons name="crystalsvg" /> <sounds> <event object="global|twin" name="eventname" url="theme:/sounds/file.wav" /> ... </sounds> <colors contrast="7"> <alternateBackground rgb="#123456" object="global|twin"/> ... </colors> <cursors name="theme_name" /> <wm type="builtin|custom" name="twin_lib_name"> <buttons left="M" right="HIAX" /> <border size="number" /> </wm> <konqueror> <wallpaper url="" /> <bgcolor rgb="#123456" /> </konqueror> <panel> <background url="theme:/wallpapers/panel.png" colorize="true|false" /> <!-- or --> <transparent value="true|false" /> </panel> <widgets name="Style Name" /> <screensaver name="saver.desktop" /> </kdetheme> Theme storage: ============== - a gzipped tarball, directory tree based (e.g. theme.kth) Sample dir tree: ================ -- mytheme.kth - mytheme.xml - mytheme.preview.png - sounds/ - wallpapers/ - konqueror/ - desktop/ - panel/ The notion of "url" here: ========================= - local: points to an already installed file in the system (must be a sole filename, e.g. "background.png"); this differs according to the theme part (ie. can be different for sounds and/or wallpapers) - theme: relative to the root of the theme tarball or directory (e.g. theme:/wallpapers/desktop/image.png) - other URLs are not allowed, the file must be contained either in the theme or in the target system