Next PreviousTable of Contents

### 1. Introduction

This document contains general information about kwm, a feature reference, and technical information useful for the developers of the kwm control module and the system sound module.

For further information how to customize kwm at the low level (only interesting for the kwinconfig developers) please have a look at the generated kwmrc and the source code.

For all programmers: check out `kwm.h` in libkdecore for information how to use kwm for your purposes. For modules, the class `KWMModuleApplication` is a good example on how to write modules.

### 1.1 Features

kwm is the window manager of choice for KDE. Among other things, it offers:

- Complete integration into KDE.

- Complete keyboard control.

- Modern look and feel with unique window titles and icons which do not need to be defined in cryptic resource files.

- A convenient mini command-line window with history for quick access to a shell prompt.

- Ability to be reconfigured at runtime without restarting.

- Second generation window manager. KWM uses a modern GUI toolkit for its widgets (buttons, menus, listboxes, etc.) instead of bloating the code with a proprietary or plain Xlib implementation.

- Excellent focus handling even if you work on different virtual desktops (no longer desktop-switching-and-losing-focus like it is standard with other window managers).

- Includes session management and a working session management proxy for legacy applications. This proxy is able to restore your applications to their previous state, including window properties (maximized, sticky, iconified, etc.) and on the correct virtual desktop.

- Modern module concept that uses the X Server where it is possible. KWM modules are also very independent: they can be started before or after kwm. KWM can be restarted while the modules are still running and will reconnect them automatically.

- Offers some extensions to the X Server in `kwm.h`: Now applications can even maximize themselves (or sticky, or decorate/undecorate or whatever) and define mini icons. This works also for mapped (visible) windows.

Next PreviousTable of Contents