On 2/20/06, <b class="gmail_sendername">Thomas Braxton</b> <<a href="mailto:brax108@cox.net">brax108@cox.net</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
So that looks like KConfig's Keys and Groups, but a file can have unlimited<br>groups. Is this possible with Elektra? If not, then we might have to come up<br>with a different interface. Or elektra might treat the KeySet<br>
"systems/sw/xorg" as the file, and all KeySets immediately under that as the<br>groups of that file. KConfig right now only has a very simple idea of<br>nesting, there is no nesting of groups, so it only does:<br>
file<br>  group1<br>    keys<br>  group2<br>    keys<br>there isn't a way to have<br>file<br>  group1<br>    group2<br>      keys<br>  group3<br>    keys<br>So Elektra group/key names might end up looking like directories, ie
<br>KConfig kc("systems/sw/xorg");<br>kc.setGroup("InputDevices");<br>kc.readEntry("Mouse0/Options/Device");<br>or<br>kc.setGroup("InputDevices/Mouse0/Options");<br>kc.readEntry("Device");
<br>should probably return the same thing.</blockquote><div><br>KDE current configuration schemas are 2 dimensional only, so you'll heve only keys under groups under a configuration resource like konquerorrc. Currently you don't have groups under groups under groups. Elektra allows that, and maybe your new interface and classes will allow that.
<br> </div>So an elektrified KConfig can be like this:<br><br>KConfig ks("konquerorrc");  // The backend will translate it into {system+user}/sw/konquerorrc<br>kc.setGroup("bookmarks");<br>ks.readEntry
("entry1");<br><br>and on multilevel configurations, like <a href="http://X.org">X.org</a>:<br><br>KConfig ks("xorg");  // The backend will translate it into {system+user}/sw/xorg<br>
kc.setGroup("Monitors/Monitor0");<br>
ks.readEntry("HorizSync");<br>

ks.readEntry("VertRefresh");<br>

kc.setGroup("Monitors/Monitor1");<br>

ks.readEntry("HorizSync");<br>


ks.readEntry("VertRefresh");<br>


<br>See, Elektra can provide to KDE to be capability to manage not only KDE's or desktop applications, but access to any other system's function configuration, because Elektra was designed to be systemwide.<br><br>This very 
<a href="http://X.org">X.org</a> example is real, since we already wrote a patch for <a href="http://X.org">X.org</a> to read config from Elektra, and not from /etc/X11/xorg.conf. We did it too for /sbin/init's inittab, fstab, then we'll patch Samba, and maybe Apache too. Having an Elektra backend, KDE can manage any elektrified system software, simply by using KConfig's classes.
<br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">How you mark things as immutable will be backend specific. ini does it by<br>adding a tag "[$i]" to the end of the groups/keys that are immutable, or a
<br>group named "[$i]" to mark the file as immutable.<br></blockquote></div><br>Yes, I was thinking something exactly like this.<br><br>So where are a source tarballs I can download to start playing ?<br><br>Regards,
<br>Avi<br>