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


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.


* 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 

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 
* 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.

* 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