RFC: KConfig XT (KDE 3.2)

Waldo Bastian bastian at kde.org
Sat Mar 15 15:38:48 GMT 2003


Your feedback is appreciated. See also kdecore/DESIGN.kconfig

Cheers,
Waldo


KConfig XT
==========

My buzzword picker offered KConfig XT ("eXtended Technology") and KConfig NG 
("Next Generation").  Since the planned changes are ment to be evolutionary 
rather than revolutionary, KConfig NG was dropped.

Goals
=====

* Have the default value for config entries defined in 1 place. Currently it 
is not uncommon to have them defined in three places:
  1) In the application that reads the setting in order to use it
  2) In the settings dialog when reading the setting
  3) In the settings dialog when selecting "Use defaults".

* Provide type-information about config entries to facilate "KConfEdit" like 
tools. Ideally type-information also includes range-information.

* Facilitate the documentation of config entries.


Plan A
======

Instead of relying on the defaults that are hard-coded in the application, 
rely on default configuration files being installed in $KDEDIR. The technical
changes required for this are very minimal, it is mostly a change in policy.

Type information can be provide by preceding every entry with a formalized 
comment.

Work to be done:
* KConfig needs to be extended to provide access to the default values 
provided by the default config files. KConfig already stores this information 
internally.
* A formal comment structure needs to be designed that can convey 
type-information. Preferably in such a way that it is easily parsable by both 
machine and user.
* KConfig needs to be extended, or another class created, that is able to 
parse the formalized comments.
* A tool needs to be developed that can assist developers with the generation
and verification of default configuration files that include type-information.

Drawbacks:
* We rely on default configuration files being properly installed. 

Plan B
======

There is no plan B.


-- 
bastian at kde.org -=|[ SuSE, The Linux Desktop Experts ]|=- bastian at suse.com





More information about the kde-core-devel mailing list