[Tfug] GConf and it's ilk
Bexley Hall
bexley401 at yahoo.com
Mon May 26 15:17:39 MST 2008
Hi,
I'm trying to come up with a consistent way to
configure applications/system. Windows *tries*
to be consistent with its "registry" -- but, if
you really give it more than a casual glance,
you'll realize windows does things *very*
inconsistently. Which sort of defeats the
purpose of the registry...
Of course, UN*X makes windows look *stellar* in
terms of consistency! :< About the only thing
consistent in how UN*X supports application/system
configuration is that all configuration stuff resides
*somewhere* in the file system in *some* form.
D'uh...
My main reason for doing this is to make it easier
for a user to configure an appication (or the
system itself). Each configurable entity can
just export a form that presents all of the
configurable options and let the user make
adjustments at will. (of course, the form isn't
static as it must enforce application-specific
semantics, etc. -- but, all of that becomes
visible to the user in a very obvious manner!)
But, it also has other merits:
It allows applications to examine the preferences
of each other to add value to the interfaces they
present.
It allows access to configuration data to be
controled in a more fine-grained manner (i.e.,
"you can change this but you can't change *that*").
This is especially useful when exporting that
data to other -- potentially hostile -- apps.
It allows an application to "record" (trying to
avoid using the word "register", here) its
interest in a set of parameters such that it
is notified of any changes to those parameters.
(e.g., an up-call back to the application)
It allows the entire "state" of the device to
be exported/imported to make RE-configuration
easier (i.e., you can restore ALL of your
settings -- or any portion thereof -- without
having to manually adjust lots of different
parameters potentially stored in lots of different
files, etc.)
The biggest down-side, IMO, to this is the
performance issue (space & time). But, I think
I can afford both (I consider this a far better
use of resources than "pretty wallpaper" and
"animated icons" :> ).
The other potential big issue is handling large
"items"... e.g., specifying what your wallpaper
would be (the file system is hidden from the user so
you can't just say: "/home/foo/mystuff/Picture.jpg".
Instead, you would have to pass the actual *picture*
itself! -- which I could opt to store in the file
system someplace convenient for *me* but hidden from
your eyes...).
Any other issues that have come up with people
using things like GConf? Or, is it too "impure"
to fit my goals??
Thanks!
--don
More information about the tfug
mailing list