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





--
ubuntu-desktop mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop

Reply via email to