libmcs
A library and set of userland tools which abstract the storage of configuration settings away from userland applications.
Note: mcs has been deprecated by GSettings. Do not use it
in newly written code.
It is hoped that by using mcs, that the applications which use it
will generally have a more congruent feeling in regards to settings.
There have been other projects like this before (such as GConf), but
unlike those projects, mcs strictly handles abstraction. It does not
impose any specific data storage requirement, nor is it tied to any
desktop environment or software suite.
Because mcs is licenced under the BSD license, it is hoped that many
applications will adopt it's use.
Available Storage Backends
The default storage backend (unless a different one is set in your
environment), is one which stores freedesktop.org keyfile standard
compliant files in accordance to the freedesktop XDG specification.
Additionally, a GConf storage backend is available for users who
would prefer to use that instead.
To temporarily change the selected storage backend, simply export
the MCS_BACKEND environment variable, and mcs will handle the
rest automatically.
You can also change the backend that mcs uses permanantly, in both
the scope of a user account, and the default site-wide setting used.
To set a different backend for a user account, simply run:
$ echo "gconf" > $HOME/.mcs-backend
This will set the storage backend to gconf for the local user.
To set a different default backend, you can do the same, but
the filepath should be /etc/mcs-backend, or whatever your
system configuration directory is, if it is not /etc.
The selected backend can be verified by using the mcs-info(1)
utility.
Installation is fairly typical:
$ ./configure
$ make
$ sudo make install
(If sudo isn't on your system, su to root.)
A Simple Example
Download the current development branch (requires Git):
$ git clone git://git.atheme.org/libmcs.git
Visit the Changelog