1

I have installed the extra plugins (compiz-plugins) for CompizConfig Settings Manager (compizconfig-settings-manager) and am trying to change these settings from the command line using gsettings.

The problem is none of these schemas are found by gsettings list-recursively and I can't understand why.

Based on my understanding, the schemas are found through the environment variable XDG_DATA_DIRS which currently is this (the default with Ubuntu 12.10):

ben@ben-HPdv6:~$ echo $XDG_DATA_DIRS 
/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/

By searching for schema files using the locate command I have found what I believe to be the missing schema files as follows:

ben@ben-HPdv6:~$ locate .schemas | grep "compiz"
/usr/share/gconf/schemas/compiz-addhelper.schemas
/usr/share/gconf/schemas/compiz-animation.schemas
/usr/share/gconf/schemas/compiz-annotate.schemas
/usr/share/gconf/schemas/compiz-bench.schemas
/usr/share/gconf/schemas/compiz-ccp.schemas
/usr/share/gconf/schemas/compiz-clone.schemas
/usr/share/gconf/schemas/compiz-commands.schemas
/usr/share/gconf/schemas/compiz-compiztoolbox.schemas
/usr/share/gconf/schemas/compiz-composite.schemas
/usr/share/gconf/schemas/compiz-copytex.schemas
/usr/share/gconf/schemas/compiz-crashhandler.schemas
/usr/share/gconf/schemas/compiz-cube.schemas
/usr/share/gconf/schemas/compiz-dbus.schemas
/usr/share/gconf/schemas/compiz-decor.schemas
/usr/share/gconf/schemas/compiz-expo.schemas
/usr/share/gconf/schemas/compiz-extrawm.schemas
/usr/share/gconf/schemas/compiz-ezoom.schemas
/usr/share/gconf/schemas/compiz-fade.schemas
/usr/share/gconf/schemas/compiz-fadedesktop.schemas
/usr/share/gconf/schemas/compiz-firepaint.schemas
/usr/share/gconf/schemas/compiz-gnomecompat.schemas
/usr/share/gconf/schemas/compiz-grid.schemas
/usr/share/gconf/schemas/compiz-imgjpeg.schemas
/usr/share/gconf/schemas/compiz-imgpng.schemas
/usr/share/gconf/schemas/compiz-imgsvg.schemas
/usr/share/gconf/schemas/compiz-inotify.schemas
/usr/share/gconf/schemas/compiz-kdecompat.schemas
/usr/share/gconf/schemas/compiz-mag.schemas
/usr/share/gconf/schemas/compiz-maximumize.schemas
/usr/share/gconf/schemas/compiz-mblur.schemas
/usr/share/gconf/schemas/compiz-mousepoll.schemas
/usr/share/gconf/schemas/compiz-move.schemas
/usr/share/gconf/schemas/compiz-neg.schemas
/usr/share/gconf/schemas/compiz-notification.schemas
/usr/share/gconf/schemas/compiz-obs.schemas
/usr/share/gconf/schemas/compiz-opacify.schemas
/usr/share/gconf/schemas/compiz-opengl.schemas
/usr/share/gconf/schemas/compiz-place.schemas
/usr/share/gconf/schemas/compiz-put.schemas
/usr/share/gconf/schemas/compiz-regex.schemas
/usr/share/gconf/schemas/compiz-resize.schemas
/usr/share/gconf/schemas/compiz-resizeinfo.schemas
/usr/share/gconf/schemas/compiz-ring.schemas
/usr/share/gconf/schemas/compiz-rotate.schemas
/usr/share/gconf/schemas/compiz-scale.schemas
/usr/share/gconf/schemas/compiz-scaleaddon.schemas
/usr/share/gconf/schemas/compiz-scalefilter.schemas
/usr/share/gconf/schemas/compiz-screenshot.schemas
/usr/share/gconf/schemas/compiz-session.schemas
/usr/share/gconf/schemas/compiz-shelf.schemas
/usr/share/gconf/schemas/compiz-shift.schemas
/usr/share/gconf/schemas/compiz-showdesktop.schemas
/usr/share/gconf/schemas/compiz-showmouse.schemas
/usr/share/gconf/schemas/compiz-showrepaint.schemas
/usr/share/gconf/schemas/compiz-snap.schemas
/usr/share/gconf/schemas/compiz-splash.schemas
/usr/share/gconf/schemas/compiz-staticswitcher.schemas
/usr/share/gconf/schemas/compiz-switcher.schemas
/usr/share/gconf/schemas/compiz-td.schemas
/usr/share/gconf/schemas/compiz-text.schemas
/usr/share/gconf/schemas/compiz-titleinfo.schemas
/usr/share/gconf/schemas/compiz-trailfocus.schemas
/usr/share/gconf/schemas/compiz-vpswitch.schemas
/usr/share/gconf/schemas/compiz-wall.schemas
/usr/share/gconf/schemas/compiz-water.schemas
/usr/share/gconf/schemas/compiz-widget.schemas
/usr/share/gconf/schemas/compiz-winrules.schemas
/usr/share/gconf/schemas/compiz-wobbly.schemas
/usr/share/gconf/schemas/compiz-workarounds.schemas
/usr/share/gconf/schemas/compiz-workspacenames.schemas

They are all there in /usr/share/gconf/schemas which is within /usr/share/ which is part of the default schema lookup environment variable XDG_DATA_DIRS. So I don't understand why they aren't appearing in gsettings?

Is there a 'refresh schemas list' command I am missing or does it not look recursively in a directory (seems weird cause there also other schema files in this directory) or am I not correctly understanding how gsettings works?

  • I'm seeing the same problem. Logged as a bug. – user130107 Feb 10 '13 at 23:54
2

It's much simpler to show an example :

gsettings set org.compiz.expo:/org/compiz/profiles/unity/plugins/expo/ expo-button "Button10"

org.compiz.expo is the schema (the words are separated by dots), you can find all schemas in /usr/share/glib-2.0/schemas/, the name of the schema is the filename without the .gschema.xml part.

/org/compiz/profiles/unity/plugins/expo/ is the path (words separated by slashes), it's where you would find it if you where looking for it in dconf-editor.

expo-button is the key, it's what you want to set

"Button10" is the value you set the key to.

In some cases you don't need the path (the schema is not relocatable), if under dconf-editor you see "No schema" then it's relocatable, you can drop the :/path/ part then.

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.