Taking System Settings in hand

[image:3123 align=left hspace=20 node=3123]One of the big things about KDE 4 at an app level was moving from KControl to System Settings. The major complaint about KDE (from non-KDE users) is that it is too configurable, where 'too' generally means they can't find the thing they want to configure. System Settings is the product of usability-led design, and kcontrol was dropped some months ago, but it seems very little has happened since it was ported to KDE 4. So rather than just give myself an ulcer about it, I've decided to take System Settings in hand and make it good. I started by fixing a couple of little bugs but as the size of the task became apparent I decided to organise System Settings' development and maintenance first. So spent today doing this. I've started a project on TechBase to:

  • pool all the design documentation there is on SystemSettings
  • track the state of the main app
  • track the states of all the modules
  • decide what to do about the missing modules

This last point is important. I count 63 distinct modules in KControl in KDE 3.5.8 on openSUSE 10.3 but there are only 30 present in some form in KDE 4's System Settings. I saw somewhere that System Settings was intended to be the 'basic' config and that advanced users should user KControl, but that is no longer possible in KDE 4. So we need to find some homes for those other modules. It has already been decided that some of them should only appear in the relevant apps (all the web browsing config stays in Konqueror), but a lot of them are only visible using kcmshell4 --list.

I also went through the (few) bug reports vs KDE4 System Settings, closed a bunch that were obviously fixed, and set the right versions on the rest. Please use for KDE 4 bugs!

As well as sorting out the shell, though, another challenge we face is getting the actual config modules sorted out and well ported to KDE 4. I realised this when creating components for system settings for each KCModule. The list of default owners for bugs on these components reads like a Who's Who of KDE Past - a lot of big names there but most of whom have left active development. This is the biggest part of the job and it's more than one person can handle. But fortunately KCModule work is a relatively easy way to start KDE 4 coding. The scope is well defined and the architecture is relatively simple. So, if you would like to find a way into KDE development, consider helping making System Settings as cool as it promises to be.


Whoa good stuff! It made me smile to read someone is organizing the control center nicely! That would indeed be a major improvement. :-D

I've always liked KDE's way of reorganizing stuff instead of removing stuff. Like the wallpaper config which didn't have any features dropped in KDE 3.0 -> 3.5, but became very easy to configure by simply reorganzing widgets.

By vdboor at Mon, 12/03/2007 - 10:51

Is very important one module for mapping network unit per user howto in windows .Open office and other applications not open files in protocol smb is little support and is very important in environment of bussines or goverment.In the Red Flag distro is available and job ok , mapping in MY PC the unit example J: or other for other user. Will like an module similar for all distribution with KDE

By daniel di conza at Mon, 12/03/2007 - 16:06

I would like to know where I can find the source code for kde systemsettings modules. I try search them, but only find the code for systemsetting. Still, I wonder if exists some tutorial about the developing (in c++) of systemsettings modules.

By klebermo at Wed, 01/11/2012 - 09:22

@klebermo i don't know if this information yet is useful, but you can find the source at kde-workspace repo.

By bruno at Fri, 09/27/2013 - 20:53