It's time to jettison CCSM

Alan Bell alanbell at ubuntu.com
Sat Feb 11 10:56:25 UTC 2012


On 31/01/12 22:46, Petko wrote:
>
> -- change the package description
>
sure, but that won't stop anyone
> -- put an "apply" button instead of applying changes on site
this is something I think would be good, particularly for enabling or 
disabling plugins, now that unity is there any time a plugin is disabled 
or enabled the whole stack of plugins get asked to re-read their 
settings, at which point unity goes and cries in a corner for 15 seconds 
or so, throws out some errors about failing to do garbage collection of 
nux stuff (they are from .cpp files so nothing to do with python ccsm) 
and then sometimes comes back. - of course someone could actually fix 
this in unity, but I am not about to go hacking in that code, I just do 
the easy stuff.
>
> -- put a warning "System may brake,are you sure" on clicking apply
s/brake/break/
>
> thus far - things to do instead of removing the package that will put 
> the fire out. Now some additional stuff:
>
> -- make CCSM launch MyUnity (hell , keep the checkbox - with the 
> listed changes we have a Safty-ed (I just made that up) power user 
> tool , so if someone wants to uncheck it he'll know better next time)
I don't like to be nasty about code other people have written, but 
srsly! It is in gambas which is kind of a visual basic thing, it looks a 
bit like it has multiple pages, but it doesn't, it is one continuous 
layout pane 3787 px wide with individual controls scattered over it, 
with manual placement - no packing. there are buttons to go left and 
right which scroll the huge layout pane left and right. There is no way 
to get keyboard focus on the left/right controls and you can tab off the 
currently viewable area into stuff you can't see. Interestingly with 
orca a user would just think it is one huge page and you can 
successfully operate controls off-screen, but that isn't really how this 
stuff is supposed to work (and yes, I do know that compiz is more for 
visually impaired users than blind users, but I like stuff to work with 
orca). Adding or removing a setting in unity and wanting to expose that 
new setting in myunity (like turn on and off the HUD, or the overlay 
thing that grabs long hold of the super key (I use super+mousewheel for 
compiz enhanced zoom bindings)) would mean hacking the myunity thing in 
the gambas IDE and placing individual controls, and wiring them up to 
gconf calls and then testing. Incidentally there is a *heap* of hard 
coded "IF Main.distribuzione = "Ubuntu 11.04" THEN " switches to control 
whether it shells out to gconftool or gsettings. The ccsm tool builds a 
much more standard gtk interface based on what is in the XML files the 
plugins provide to describe their available settings. Add a new setting 
to unity, it turns up in the tool, no hacking the gambas, it is just the 
architecturally right way to do it.
What would be fine, is to have a mode for CCSM that *just* exposes the 
unity plugin. So you can't turn it off, but you can tweak all the things 
that the unity developers have declared in the XML file as tweakables. 
This would be almost trivial to do, in fact a nice way to do it might be 
to add some command line flags to ccsm to allow you to launch it in a 
way that doesn't allow plugin enabling and disabling, or just expose a 
fixed list of plugins. Or just expose enabled plugins and don't allow 
turning them off. It is only really the enabling or disabling process 
that unity doesn't seem to like, the rest of the time it is pretty solid 
for me.

>
> -- (Nico's suggestion) put a 10 sec period to confirm (and revert 
> changes when there's been no confirmation) . I'm aware that that 
> doesn't fix some more major breaks but it fixes a lot of breaks that 
> are not that bad , but hard for a newb to handle .
that would be good, bit of a challenge to write, but would be good.

-- 
The Open Learning Centre is rebranding, find out about our new name and look at http://libertus.co.uk




More information about the ubuntu-desktop mailing list