# Chapitre 1. Introduction

Cette documentation contient des informations d'ordre général sur Kwm, un guide de référence des fonctionnalités et des informations techniques pour les développeurs du Module de Contrôle de Kwm et du Module système des sons.

Pour plus d'informations sur la personnalisation "bas niveau" de Kwm (intéressant pour les développeurs de kwinconfig), vous pouvez consulter le fichier Kwmrc, qui est généré automatiquement, et le code source.

A l'attention de tous les programmeurs : consultez `Kwm.h` dans libkdecore pour savoir comment utiliser Kwm pour vos besoins. Pour ceux qui veulent programmer des modules, la classe `KwmModuleApplication` est un bon exemple.

# 1.1. Fonctionnalités

Kwm est le gestionnaire de fenêtres de prédilection pour KDE. Parmi les fonctionnalités qu'il offre, notons :

- Une intégration complète dans KDE.

- Un contrôle total par le clavier.

- Un 'look and feel' avec des titres de fenêtres et des icônes uniques et qui n'ont pas besoin d'être définis dans des fichiers de configuration cryptiques.

- Une mini fenêtre ligne de commande avec historique des commandes pour accès rapide à un prompt shell.

- Reconfiguration possible pendant l'exécution sans besoin de redémarrer, y compris en ce qui concerne la gestion de l'apparence ("look and feel") et des raccourcis clavier.

- Gestionnaire de fenêtres de seconde génération. Kwm utilise un toolkit moderne pour les applications (boutons, menus, listes etc...) au lieu de proposer une implémentation propriétaire ou Xlib.

- Gestion excellente du focus, même si vous travaillez sur différents bureaux virtuels (disparition des ennuis de perte de focus lors du changement de bureau, comme il arrive couramment avec les autres gestionnaires de fenêtres.)

- Inclut l'utilitaire `kstart` pour lancer des applications dans des fenêtres ayant des propriétés KDE spéciales: sous forme d'icône, maximisée, dans un certain bureau virtuel, avec une certaine décoration ou en les clouant. Tapez `kstart -help` pour plus d'informations.

- Inclut une gestion des sessions et un proxy de gestion de session pour les applications KDE. Ce proxy est capable de restaurer vos applications dans l'état où vous les avez laissées à la déconnexion, tant avec les propriétés de fenêtres (maximisée, clouée au bureau, icônifiée, etc...) qu'avec l'indication du bureau virtuel dont elles faisaient partie.

- Un concept moderne de modularisation qui utilise le serveur X lorsque c'est possible. Les modules de Kwm sont aussi très indépendants : ils peuvent être lancés avant ou après le démarrage de Kwm lui-même. Kwm peut être redémarré lorsque certains de ses modules sont actifs, et il s'y reconnectera automatiquement.

- Des modules puissants, comme la barre de tâches de KDE (kpanel) et un logiciel de commutation de bureau extrêmement séduisant.

- Il offre des extensions pour le serveur X dans `Kwm.h` ; les applications peuvent même à présent se maximiser (ou se clouer au bureau, ou se décorer/redécorer etc...) et définit des mini-icônes. Ce comportement fonctionne également pour les fenêtres mappées (visibles).