So I was notified that commits to KDE are HOT, and I am in serious need of some hotness. What could be more hot than working on Kiosk Tool? Well maybe KHTML, but I don't need love that badly. So back to kiosk tool. Back in KDE 3 Waldo Bastian made up this nice little tool that could give administrators a GUI interface around the kiosk functionality in KDE 3. Well 5 years have passed and the tool was in need of some love. First step was to get the last of the KDE/Qt 3 compatibility code removed. That took most of the day yesterday. Today was spent trying to add a few features to make it easier for 3rd party application developers to add their application's settings to the Kiosktool UI. I broke up the old monolithic XML file into modular ini files that can be installed into the kiosktool application data directory. This allows any application developer to create a custom set of options for administrators to lock down their application.
Now for those of you who have no clue what kiosk is, its some hooks in the KDE configuration system as well as the GUI system that allow features to be turned on, turned off, or even locked to specific values. It can also control what menu options are visible, what applications are available to the user or even if they get a shell. Its pretty powerful stuff, but its difficult to administer unless you have an intimate knowledge of every KDE application you wish to maintain. This is the big thing kiosktool provides. Administrators can navigate a list of available application and desktop settings that can be controlled.
If you are an application developer that would like to get in on this action its pretty easy. The only thing you really need to know is your application's settings and the .kiosk file format. Every component goes in its own file, and it must be located in $(). Each file has a mandatory Group section that contains meta-data properties about the component. An example is shown below:
If you have any questions drop on by #kde-devel on freenode and find geiseri. I hope to refine these settings in the next few months and release Kiosk tool with KDE 4.3. As new features develop I will blog about them here. My goal is to expose the KDE kiosk functionality to administrators and users so that they can see how awesome it is.