# Capitolo 1. Introduzione

Questo documento contiene delle informazioni generali su kwm, un sommario delle sue caratteristiche, e informazioni tecniche utili per gli sviluppatori del kwm control module e del system sound module.

Per ulteriori informazioni su come settare kwm a basso livello (interessante soltanto per gli sviluppatori di kwinconfig) controlla il kwmrc appena generato e le sorgenti.

Per tutti i programmatori: controlla `kwm.h` in libkdecore per informazioni su come usare kwm per i tuoi bisogni. Per i moduli, la classe `KWMModuleApplication` è un buon esempio per imparare a scrivere moduli.

# 1.1. Caratteristiche

kwm è il window manager scelto per KDE. Tra le altre cose, offre:

- Completa integrazione in KDE.

- Completo controllo della tastiera.

- Un look and feel moderno con titoli di finestre unici e con icone che non hanno bisogno di essere definite in criptici file di configurazione.

- Una utilissimafinestra mini command-line con una memoria per un veloce accesso al promt della shell.

- Possibilità di essere riconfigurato a runtime senza riavviarlo.

- Window manager di seconda generazione. KWM usa una moderna libreria GUI per i suoi widgets (tasti, menu, listboxes, etc..) invece di gonfiare il codice con una implementazione proprietaria o Xlib.

- Eccellente uso del focus anche se lavori su differenti desktop virtuali (niente piú cambia-desktop-e-perdi-il-focus come succede con altri window managers).

- Include una gestione delle sessioni e un funzionale proxy per la gestione delle sessioni per applicazioni che lo richiedono. Questo proxy è capace di far ripartire le tue applicazioni al loro stato precedente, insieme alle proprietà delle finestre (ingrandito, appiccicato, iconificato, etc..) e sul giusto desktop virtuale.

- Un moderno concetto dei moduli che usa l'X Server dove possibile. I moduli KWM sono anche molto indipendenti: possono essere fatti partire prima o dopo kwm. KWM può essere fatto ripartire mentre i moduli stanno girando e li riconnetterrà automaticamente.

- Offre alcune estensioni all'X Server in `kwm.h`: Ora le applicazioni possono anche ingrandirsi (o appiccicarsi, o decorarsi/sdecorarsi o cos'altro) e definire mini icone. Tutto ciò funziona anche per le finestre mappate (visibili).