Ubuntu – How to use gsettings when there is no schema listed

compizdconfgsettingsscripts

I'm wanting to write a script to reorder the loading of compiz modules, so while using the Unity desktop, expo and scale are loaded last and the set hotcorners in those plugins, will remain active upon reboot. This can easily be done using the gui dconf-editor. However any time an update comes through for unity, this setting is put back to the default of loading the Unity module last, and killing the hotcorners.

So needing a cli method to change the setting in dconf-editor located at org/compiz/profiles/unity/plugins/core from

['core', 'composite', 'opengl', 'copytex', 'decor', 'regex', 'compiztoolbox', 'place', 'imgpng', 'grid', 'unitymtgrabhandles', 'resize', 'mousepoll', 'snap', 'gnomecompat', 'move', 'vpswitch', 'session', 'wall', 'animation', 'workarounds', 'expo', 'scale', 'fade', 'ezoom', 'unityshell']

to

['core', 'composite', 'opengl', 'copytex', 'decor', 'regex', 'compiztoolbox', 'place', 'imgpng', 'grid', 'unitymtgrabhandles', 'resize', 'mousepoll', 'snap', 'gnomecompat', 'move', 'vpswitch', 'session', 'wall', 'animation', 'workarounds', 'fade', 'ezoom', 'unityshell', 'expo', 'scale']

so issuing the command

gsettings list-schemas | grep -i compiz

shows that there's no schema for what I need to change so trying instead

gsettings list-recursively | grep -i compiz

gives a much longer list, but not much useful to my project. Where have I gone wrong or is there another solution to my problem?

Best Answer

I expect it to be this, adding "quotes" to the value as part of the proper GVariant formatting required for setting strings.

gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ active-plugins \
 "['core', 'composite', 'opengl', 'copytex', 'decor', 'regex', 'compiztoolbox', 'place' 
,'imgpng', 'grid', 'unitymtgrabhandles', 'resize', 'mousepoll', 'snap', 'gnomecompat',
'move', 'vpswitch', 'session', 'wall', 'animation', 'workarounds', 'fade', 'ezoom', 
'unityshell', 'expo', 'scale']"