Hi,

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.

Agreed.

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.

Indeed, that's a problem.

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 [1] 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.

I don't agree with this conclusion, though: Releasing KWD with KDE just moves the code-is-broken-due-to-unsynced-release problem from 'KWD is broken when KDE code is changed' to 'KWD is broken when Compiz code is changed'. I'm not sure how that improves things, especially given that Compiz 0.8 (which is still widely used) and Compiz 0.9 have different decoration APIs (to accomodate non-composited rendering and reparenting in 0.9).

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.

With the current state of things you could provide a patch and we could do our best to do a new release ;-)

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.

Taking aside the point that Alt+Tab is implemented in the plugins, not the decorator (which only renders the tabbox frame), I must say that personally the look of Kwin's Alt+Tab implementation is one of the things that makes me use compiz on KDE ;-)

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
features.

What is your ultimate goal/plan here? What parts of Kwin do you want to modularize?

Regards,

Danny
_______________________________________________
compiz mailing list
compiz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/compiz

Reply via email to