# 章 1. はじめに

このドキュメントは kwm についての全般的な情報と機能のリファレンス、 それと kwm 制御モジュール と システムサウンドモジュール の開発者に役立つ技術情報について述べたものです。

低レベルで(ただし、kwinconfig の開発者にとって面白いだけの) kwm をカスタマイズ するためのもっと詳細な情報については、設定ツールによって生成された kwmrc や、kwmのソースコードなどを参照してください。

すべてのプログラマーのために:　KDE をあなたの目的のために使うための情報に ついては、libkdecore ディレクトリにある `kwm.h` を参照してください。 モジュールについては、 `KWMModuleApplication` というクラスがモジュールを書くためのよい参考になるでしょう。

# 1.1. 機能

kwm は KDE のためのウインドウマネージャーです。 とりわけ、次のような機能をもっています:

- KDE への完全な統合

- 完全な キーボードの制御.

- 暗号のようなリソースファイルで設定する必要がない、ユニークな ウインドウタイトルとアイコンの現代的なルックアンドフィール。

- シェルプロンプトに素早くにアクセスするための、履歴検索が使える便利な ミニコマンドラインウインドウ。

- ウインドウマネージャーを再起動せずに、同期的に設定を変更する機能。 この機能でルックアンドフィールに関係する部分やキーボードのショートカットの設定を変更できます。

- 第二世代のウィンドウ マネージャ。kwm はウィジェット (ボタン、メニュ ー、リストボックス、など) に対して現代的な GUI ツールキットを使用しており、 商用の、あるいは通常の Xlib の実装によってコードを肥大させるようなことはしません。

- 複数の仮想デスクトップを行き来して作業する場合でも卓越したフォーカス ハンドリング (デスクトップを切り替えるとフォーカスを失ってしまうといった、他 のウィンドウ マネージャで通常起きるようなことがありえません)。

- 従来のアプリケーションを、アイコン化、最大化、特定のデスクトップ、特別 な装飾を施した状態、あるいは固定表示といった、KDE ウィンドウ特有のプロパティ を付加して起動することが可能な `kstart` ユーティリティ。 `kstart -help` を実行するだけで、より詳細な情報がご覧になれます。

- 旧式な(つまり従来の)アプリケーションのための セッション管理機能とワーキングセッション管理用プロキシを持つこと。 このプロクシはウインドウの属性(最大化されている、アイコン化されている、 スティッキー状態になっている、などの)や、どの仮想デスクトップに あるか等のアプリケーションの状態を、ログアウト前の状態に戻すことができます。

- 使用可能な場合に X サーバを使用する現代的なモジュールの概念。 KWM モジュール同士は非常も独立性が高く、そのモジュールは kwm が 起動する前にも後にも起動することができます。 モジュールがまだ動 いている時でもKWMは再起動でき、再起動の後自動的にモジュールと再接続 しようとします。

- KDEデスクトップパネル(これにはタスクバーも含まれています)や非常に凝った デスクトップぺージャー等の強力なモジュールを持つこと。

- `kwm.h` によりXサーバーに拡張機能を提供します。 それによりKDEアプリケーションは最大化(またはスティッキー状態や、飾り付けられた/飾り付けてない状態、等に)できたり、 ミニアイコンを定義することができたりします。 これはマップされた(目に見える)ウインドウにもはたらきます。