# 1. Введение

Этот документ содержит общую информацию о kwm, описание программы и также технические данные, полезные для разработчиков контрольного модуля kwm и звукового системного модуля.

Для дальнейшего ознакомления с тем, как осуществлять низкоуровневую настройку kwm (что должно быть интересно только для разработчиков kwinconfig), используйте сгенерированный kwmrc и, непосредственно, программный код.

Для всех разработчиков: используйте `kwm.h` в libkdecore для получения представления, как использовать kwm для ваших задач. Для модулей: класс `KWMModuleApplication` является хорошим примером того, как программировать модули.

# 1.1. Спецификация

kwm -- это менеджер окон, созданный для KDE. Среди прочих возможностей он предоставляет:

- Полную интеграцию в KDE.

- Полный клавиатурный контроль.

- Современный вид и адекватные ощущения при работе с уникальными окнами и пиктограммами, которые не требуют зашифрованных ресурсных файлов.

- Удобноемини-окно с командной строкой и историей для быстрого использования команд оболочки (shell).

- Возможность перенастройки "на лету" без перезапуска, в том числе при изменении облика, реагирования и клавиатурных ускорителей.

- Менеджер окон второго поколения. KWM использует современный набор инструментов графического интерфейса с пользователем (ГИП) для своих элементов (кнопок, меню, списков, и т.д.). Использование коммерческих или примитивных Xlib библиотек, привело бы к непомерному раздутию программ.

- `kstart` утилита для запуска приложений, написанных не для KDE, с использованием присущих KDE свойств, таких как минимизация, максимизация, передвижение на один из рабочих столов, специальное оформление или липкость. Для получения дальнейшей информации, запустите `kstart -help`.

- Превосходное удержание фокуса, даже если вы работаете на различных виртуальных рабочих столах (в отличие от других менеджеров окон, переключение с одного рабочего стола на другой не приводит к потере фокуса).

- Менеджмент сессии и прокси для менеджмента рабочей сессии - для программ не входящих в KDE. Прокси делает возможным восстановление программ, в которых вы работали, в том состоянии в котором они были оставлены, включая свойства окон (максимизирование, прилипание, минимизирование и т.д.). При этом программа будет находиться на том виртуальном рабочем столе, на котором она была открыта в предыдущей сессии.

- Современную концепцию модулей, которая включает максимальное использование X Сервера. Модули KWM также очень независимы: они могут быть запущены перед или после kwm. KWM можно перезагружать при все еще работающих модулях. Менеджер подсоединит модули автоматически.

- Кое-какие очень полезные модули, такие как KDE-панель рабочего стола (включающая также и панель задач) и чрезвычайно удобный пейджер.

- Предлагает некоторые расширения для X Сервера в `kwm.h`: Теперь окна программ могут сами максимизироваться (или прилипать, или приобретать/терять оформление и т.п.) и задавать мини-пиктограммы. Это также работает для картированных (видимых) окон.