How to read default key value with dconf or gsettings?
- by Zta
I would like to know the default value of a dconf/gsettings key.
My question is a followup of the question below:
Where can I get a list of SCHEMA / PATH / KEY to use with gsettings?
What I'm trying to do, so create a script that reads all my personal preferences so I can back them up and restore them. I plan to iterate though all keys, like the script above, see what keys have been changed from their default value, and make a note of these, that can be restored later.
I see that the dconf-editor display the keys' default value, but I'd very much like to script this. Also, I don't see how parsing the schemas /usr/share/glib-2.0/schemas/ can be automated. Maybe someone can help?
gsettings get-default|list-defaults would be nice =)
(Geesh, it was much easier in the old days where you just kept your ~/.somethingrc in subversion ... =\
Based on the answer given below, I've updated the script to print schema, key, key's data type, default value, and actual value:
#!/bin/bash
for schema in $(gsettings list-schemas | sort); do
for key in $(gsettings list-keys $schema | sort); do
type="$(gsettings range $schema $key | tr "\n" " ")"
default="$(XDG_CONFIG_HOME=/tmp/ gsettings get $schema $key | tr "\n" " ")"
value="$(gsettings get $schema $key | tr "\n" " ")"
echo "$schema :: $key :: $type :: $default :: $value"
done
done
This workaround basically covers what I need. I'll continue working on the backup scrip from here.