This is an overview of how the code is situated and a very brief overview of what the classes do. See the header files for a more indepth overview of what the classes do. -- System Settings classes -- mainwindow - The KMainWindow contains KActions, the stack of the iconlist and the current module(s) view. modulesview - The widget that is the icon view that users see when the first enter the app. kcmsearch - Search widget that can search ModulesView and enable/disable items. modulesiconitem - The individual modules items. Used for loading enabled/disabled images and storing the list of modules acosiated with the item. kcmodulemenu - Class that reads in a freedesktop.org .menu file into a QValueList. kcmultiwidget - A basterdized kcmultidialog from kdelibs/kutil that provides info about the current shown dialog so the about dialog and caption can be updated and prompts for unsaved changes. -- INSTALL -- To install a new menu you have to install three files. (if you have debian, if you have another system use locate to determine where kde-system.* is installed and install in the same place. -/etc/xdg/menus/system-settings.menu -/etc/xdg/menus/applications-merged/system-settings-merge.menu -/usr/share/desktop-directories/system-settings.directory Also don't forget to install the ui file. -/share/apps/systemsettings/systempreferencesui.rc And the desktop file. -share/applications/kde/systemsettings.desktop When you change (or install) any of the first three files make sure to run kbuildsycoca to re-generate the cache files or log out and back in.