It's time to jettison CCSM
Alan Bell
alanbell at ubuntu.com
Fri Jan 27 13:32:45 UTC 2012
On 27/01/12 09:07, Didier Roche wrote:
> It still will. The dependency on largedesktop has been done to
> explicitely letting people to get the cube:
> https://bugs.launchpad.net/ubuntu/+source/unity/+bug/711561. We need
> to have unity depending on either cube or wall for some plugin loading
> order that ccsm can't handle right otherwise.
>
> The issue in this particular case is a ccsm/libcompizconfig one.
> Basically unity depends on largedesktop (features that I patched
> upstream to be provided by the 2 above plugins, cube and wall…). You
> enable cube, cube conflicts with wall, wall is deactivated (cube is
> still not enabled at this stage). Then, ccsm/libcompizconfig tells "oh
> wait wait, there is no largedesktop provider anymore, I need to remove
> unity". It displays the warning and people check "yeah, go ahead",
> then cube is enabled (but no more unity).
yes, I understand the circumstances. Dropping the requirement seems to
let everything still load for me and allows me to switch between cube
and wall so unityshell.xml only requires:
<requirement>
<plugin>opengl</plugin>
<plugin>compiztoolbox</plugin>
</requirement>
I kept wall and cube in the <relation type="after"> block, so I would
think that would deal with the loading order (I might be wrong, but it
works for me). Dropping largedesktop from the requirements does allow
users to break their workspace switcher still, but nothing else seems to
be problematic about it, though your mileage may vary.
>
> > The suggestion to drop ccsm as a whole does feel a bit like "Unity
> doesn't work right with other plugins, lets get rid of all the others"
> when educating Unity to play nice with it's friends would be a much
> better solution.
> As you can see above, this is far from being a "unity not playing nice
> with its friends".
>
> There is a need for transactional handling there so that dependencies
> are just checked at the end. From what I heard from upstream, it will
> be quite a lot of work and really not trivial, but contributions are
> more than welcome there. However, seeing the number of real recent
> contribution on ccsm (12 commits that impacted the code in the last
> year, 28 in the last *two* years! 38 if we go until the last 3
> years!), we can see there is basically no maintainance on it.
> (http://git.compiz.org/compiz/compizconfig/ccsm/log/).
>
what might be good is to not turn on and off plugins live when you hit
the enable checkboxes, but have an "apply changes" button that does
everything, so the screen doesn't redraw when you navigate about the
GUI. Live settings changes are fine, but live plugin activation is
probably a bit scary.
> This is just one example where ccsm is playing bad, there is as well
> the case when if you set the real default for an enum setting, this
> makes compiz crashing.
lets fix that widget then. There was another comment about mouse scroll
wheels activating the HScale widgets, these are essentially redundant as
there is a spin control next to all of them, so I took out the HScale items
https://code.launchpad.net/~alanbell/ubuntu/precise/compizconfig-settings-manager/safetyfirst/+merge/90389
> Consequently, and only because of ccsm, we have to put a fake setting
> for it in the profile. Another big issue we had with ccsm (because of
> compizconfig-python) is that people clicked on "preferences", then,
> because of bad data given, ccsm fallback to the "default" profile
> which has no unity (which is setup on purpose to allow people using
> compiz without unity):
> https://bugs.launchpad.net/compiz-compizconfig-gconf/+bug/874799
> This has his a lot of people, including at UDS.
OK, but it is fixed, right?
>
> Didier
>
>
More information about the ubuntu-desktop
mailing list