[compiz] Move KDE Plasma Integration to KDE Git Infrastructure
kde at martin-graesslin.com
Sun Jan 16 08:07:46 PST 2011
Hi Compiz developers,
as you might know KDE will transition to git somewhen next week. This gives
some new possibilities for the Compiz community, too.
Let me first describe the current situation and the problems with it: Compiz
and KDE releases are out of sync. We are currently more and more integrating
features from the desktop shell into the window manager. In difference to
other desktop shells (GNOME Shell, Unity) Plasma still allows to use a
different window manager and has not removed any legacy code. This is a hughe
advantage and although it does not look like other shells care about
supporting different window managers I do not want to lose the possiblity to
switch the window manager.
Up to now Compiz has done a great job of supporting our additions, so that
Compiz users get the same level of integration as KWin users. Nevertheless due
to the fact that releases are out of sync Compiz users do not get new features
when KDE has a release. This gets to a real problem when KWin changes the
decoration API as that causes KDE4-Window-Decorator to crash (this is the most
often reported bug against KWin). This has let to a stagnation in our
decoration API as we don't dare to touch the code again. Nevertheless I plan
to change the API in 4.7 and our most prominent decorations (Oxygen and
Aurorae) will move to it.
Now with the git transition there might be a solution for these kind of
problems: Compiz's KDE Plasma integration is moved to KDE's infrastructure and
could be released in sync with the rest of Plasma. This means you don't have
to care about the release (done by KDE's release team). Additionally you get
the advantages of the KDE community like the Krazy checks  and developers
going through the code and fix common issues. Translation would be provided by
KDE's translation infrastructure ensuring that the code is translated into all
the languages KDE supports and providing a consistend translation.
Concerning better support for changes in Plasma/KWin integration and
decoration API, there is the chance that KWin developers will directly port
changes to Compiz if it is in the same repository. Especially the decoration
API is that small that we can add support to Compiz directly.
Nevertheless there are a few things you should be aware of:
* Everybody with commit rights to KDE would be allowed to commit to it.
* You would need a KDE commit account to be able to commit to the repository
(though KDE hands out commit rights rather easily and you are all proven
members of the community)
* You would probably need to go through a two weeks Review Process which
requires that there are no reported Krazy issues. Last time I looked into the
Compiz KDE integration part the code was not in a state to get through review
directly (As you are also using C++ I can only recommend to run KRazy checks
on your main repository, too. It should also find generic options and KDE
specific checks can be disabled.). Depending on where the repo will me moved
that step might be omitted.
The last point gets me directly to where to move the code. There are several
1. Own repository either in extragear or as part of KDE SC. KDE SC would mean
releases synced with rest of KDE.
2. Part of workspace repo. Same as option 1 with SC, but you get also access
to the private libs of workspace. This means you could add support for KDE's
activities, use Kephal for screen handling and could in general add more
integration for Plasma. Disadvantage: KDE does not use submodules so the code
needs to be imported, which means the code really has to move to KDE
3. Part of KWin. That is same as option 2, plus you could use KWin internal
code. E.g. no need to duplicate decoration code any more, make use of KWin
parts separated from core (e.g. Alt+Tab). This is probably the best
integration you could get.
Personally I would prefer option 3 from an integration point of view. My
current plans are to modulize KWin which would allow to make use of more KWin
If there is interest from your side for going such a step, I would contact
KDE's sysadmins to evaluate a possible merge path.
P.S. We will probably have another Plasma developer sprint in Europe around
April. It would be nice to have some Compiz developers around to discuss
possible future integration and collaboration.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 316 bytes
Desc: This is a digitally signed message part.
More information about the compiz