I want to write a script to reorder the loading of Compiz modules, so that while using the Unity desktop, expo and scale are loaded last and the hot corners setting in those plugins will remain active upon reboots. This can easily be done using the GUI dconf-editor. However, any time an update comes through for Unity, this setting is reversed back to the default of loading the Unity module last, and killing the hot corners.

So I need a command line 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']


['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']

Running the command:

gsettings list-schemas | grep -i compiz

shows that there's no schema for what I need to change. So trying this 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?


1 Answer 1


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']"
  • 2
    Just a minor note to the command listed above, the backslash "\" following active-plugins is only inserted so the command can be copied and pasted in a terminal directly, and escape the un-quoted return that is inserted due to the formatting of the Ask Ubuntu blockquote tag. If using this command in a script or typing it directly it would mot be needed.
    – dginsd
    Jul 18, 2013 at 4:52
  • 1
    askubuntu.com/a/635159/10475 gives an example how to set the default plugins system-wide.
    – uzhoasit
    Jun 11, 2015 at 14:00
  • I've spent hours looking for this my windy friend. I use "place windows" plugin but it prevents xdotool, wmctrl, tkinter and python-xlib from moving a window spanning two monitors. It's a window morphing into a shark swimming over to eat a man on another monitor (it's a geeky thing). The shark bumps his head against the monitor border for a second and then jumps too far into the next monitor. Anyway this looks promising to temporarily override compiz's place setting. The only problem is a 4 second lag for gsetting set to take effect and then the hidden launcher temporarily appears. Jun 22, 2021 at 1:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.