## Change sets

GConf has a concept of a set of changes which can be applied or reverted at once: GConfChangeSet (GConf doesn't actually apply changes atomically, which is one of its shortcomings).

Instead of a separate object to represent a change set, GSettings has a 'delayed-apply' mode, which can be turned on for a GSettings object by calling `g_settings_delay()`. In this mode, changes done to the GSettings object are not applied - they are still visible when calling `g_settings_get()` on the same object, but not to other GSettings instances or even other processes.

To apply the pending changes all at once (GSettings does atomicity here), call `g_settings_apply()`. To revert the pending changes, call `g_settings_revert()` or just drop the reference to the GSettings object.