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.
This was also the aim of xdg-settings. But xdg-settings doesn't really work.
For more information (and the documentation) see the website.
Ensure you have Python 3. You probably already have it.
Download settingsctl here (zip)
Either:
sudo ./install.py)./install.py --user)./settingsctl --help)$ settingsctl get appearance.desktop.wallpaper
/path/to/wallpaper
$ settingsctl get power.screen-lock.enabled
true
$ settingsctl set power.screen-lock.timeout 20
Also see Documentation::Tutorial.
(Quality) Contributions are always welcome. Here you will find how to go about contributing to this project.
Firstly, the language: settingsctl is written in Python 3.
The coding conventions are mainly PEP8, but with one notable exception: Tabs are used instead of spaces.
See also the TODO file included, which has a list of things to be done.
Fork the repository.
See Documentation::Creating a Setting.
Then file a pull request for your change.
Fork the repository.
In the lib/ directory, find the Python module that defines the setting.
Code your contribution (feature, bug fix, etc).
Then file a pull request for your change.
Fork the repository.
Look through the code (file: settingsctl).
Code your contribution (feature, bug fix, etc).
Then file a pull request for your change.
settingsctl is licensed under the GNU General Public License (GPL) version 3 (or, at your option, a later version).
settingsctl is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
For the license text, see the included LICENSE file.
Follows Semantic Versioning.
Information about changes by version can be found in CHANGELOG and the Updates page.
This project hopes to eventually officially (as in approved by XDG as a standard) replace the old xdg-settings.