[prev in list] [next in list] [prev in thread] [next in thread]
List: kwin
Subject: Proposal to add engine support to KWin
From: Christoph Feck <christoph () maxiom ! de>
Date: 2010-09-26 14:02:19
Message-ID: 201009261602.20023.christoph () maxiom ! de
[Download RAW message or body]
Hi,
not sure if this should be moved to a Wiki or if it can be discussed here. I
shortly talked to Martin, and we agreed that KWin needs support for engines
other than Aurorae.
I added Craig to CC list, because I am not sure if he is on this list (Thomas
is, for sure :)
Christoph Feck (kdepepo)
Here is the text:
Proposal to add deKorator to KWin
"deKorator" is used here as a placeholder for any other themeable
KWin decoration engine, such as deKorator, Smaragd, Qamelion,
IceWM, QtCurve?, Bespin?, ...
This name is used so that one can see where and how the engine
name shows up.
Current issues
Aurorae engine is hardcoded into the KCM
deKorator ...
... cannot use the KWin theme list (new in 4.5)
... can cause empty decorations when applyed without installed theme
... cannot share the KWin GHNS dialog
Proposal (without adding new binary API)
1. Engine informs KWin about themes
In deKorator.desktop:
X-KDE-Themes=deKorator/themes/*
This is the "glob" that KWin uses to scan installed themes, relative
to the KDE "data" directory. This allows pre-installed themes, as well
as user installed themes.
Each entry contains one theme, either a file, or a directory.
For Aurorae: aurorae/themes/*/metadata.desktop
For Smaragd: smaragd/themes/*.emerald
X-KDE-NewStuff=deKorator.knsrc
ProvidersUrl=
Categories=
TargetDir=deKorator/themes
Uncompress=
The .knsrc file contains information from where to get new themes.
The Uncompress Type may be "never" for theme files like .emerald,
that cannot be decompressed to the download directory.
2. KWin informs engine which theme to use
In kwinrc:
[Style]
PluginLib=kwin_deKorator
Theme=entry
"entry" is one of the entries from the "glob" mentioned above
For themeable engines (i.e. those that have a X-KDE-Themes glob)
the Theme=entry is guaranteed to be one of those found by the glob.
If no theme was found, kwin refuses to select this engine and falls
back to the default decoration (Oxygen).
3. Outstanding Issues
For Aurorae, the selected theme is written to the auroraerc file.
I am not sure which is better. Engines usually only read from their own
configuration file.
Aurorae appearently supports per-theme button and border sizes.
I haven't checked if/how that can be generalized.
Currently, KNS3 cannot merge multiple knsrc files into the same
dialog, but that can be worked on. As a workaround, the
"Get New Themes..." button gets a drop down menu where the
user selects the engine he wants to download themes for.
_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic