A single interface to the settings of different desktop environments
Different desktop environments on *nix usually have different configuration methods for the same setting. This makes it hard for developers to handle desktop settings in their program.
settingsctl is a cross-desktop (*nix) tool to handle desktop settings.
Get settingsctl Get startedsettingsctl is Free software (GPL v3+).
Examples
$ settingsctl get appearance.desktop.wallpaper
/path/to/wallpaper
$ settingsctl get power.screen-lock.enabled
true
$ settingsctl set power.screen-lock.timeout 20
power.screen-lock.timeout → 20
(All units in SI, so 20 → 20 seconds)
Intended as a replacement for xdg-settings which is a joke.
Usage
settingsctl <command> [setting] [--json]
