How to set/get default values for configuration keys

It looks like dconf (the command) doesn’t read values of keys that haven’t been explicitly set by the user.

jani@saegusa:~$ dconf read /org/gnome/desktop/session/idle-delay
jani@saegusa:~$ 

So how do I get the value of idle-delay whether or not it’s user-set?

By using gsettings instead of dconf:

jani@saegusa:~$ gsettings get org.gnome.desktop.session idle-delay
uint32 600

Note that setting the value to what is default for the key isn’t the same as resetting the key:

jani@saegusa:~$ dconf write /org/gnome/desktop/session/idle-delay 'uint32 600'
jani@saegusa:~$ dconf read /org/gnome/desktop/session/idle-delay
uint32 600

You see, now even according to dconf the key is set even though it just holds the default value.

To actually reset the dconf key, you use its reset command:

jani@saegusa:~$ dconf reset /org/gnome/desktop/session/idle-delay
jani@saegusa:~$ dconf read /org/gnome/desktop/session/idle-delay
jani@saegusa:~$ gsettings get org.gnome.desktop.session idle-delay
uint32 600