# 3. Настройка

kwm можно настраивать с помощью Центра управления KDE (Диспетчер приложений > Центр управления KDE). Откройте раздел Окна для изменения различных параметров. Клавиатурные ускорители можно переопределить в разделе Глобальные клавиши. Для настройки рабочих столов откройте раздел Приложения и выберите Панель. Для тех, кто предпочитает редактировать файл настройки вручную, эта секция объясняет организацию файла `kwmrc`, который находится в ˜/.kde/share/config.

# 3.1. kwmrc

Файл настройки kwmrc разделен на следующие разделы:

- Кнопки

- Общая часть

- Сессия

- Рабочий стол

- Оформление

- Фокус

- Липучесть

## 3.1.1. [Кнопки]

Этот раздел контролирует позиции контрольных кнопок на заголовке окна. Он содержит строчки в форме ButtonX=обозначение кнопки где X - буква A-F, а обозначение кнопки - одно из: `Menu (Меню), Sticky (Прилепить), Iconify (Минимизация), Maximize (Максимизация), Close (Закрытие), Off (Выкл.)`. Кнопки A, B, и C появляются с левой стороны от заголовка окна, а D, E, и F появляются с правой стороны.

## 3.1.2. [Общая часть]

В этой секции находятся общие параметры настройки:

- AltTabStyle=`KDE|CDE` (по умолчанию KDE) CDE тип для AltTab нужен для совместимости с классическими режимами фокусирования. CDE стиль используется по умолчанию в классических режимах фокусирования, так как KDE стиль в этих обстоятельствах не имеет большого смысла. Для всех прочих стандартов фокусирования лучше выбирать стиль KDE.

- AutoRaise=значение (в миллисекундах) Если используется `Режим Фокусирования:` `Фокус следует за мышью`, эта строка определяет задержку между моментом вхождения курсора на территорию окна с получением фокуса для этого окна и моментом выдвижения данного окна на передний план.

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

- Button3Grab=`on|off` Если `off`, операции с окном использующие правую кнопку мыши отключены, так что событие нажатия правой кнопки мыши может использоваться окнами программ.

- ControlTab=`on|off` Если `on`, пользователь может нажатием `Ctrl+Tab` переключаться между виртуальными рабочими столами.

- ElectricBorder=значение (в миллисекундах) Если у вас более чем один рабочий стол, ElectricBorder позволяет вам передвигаться между ними помещением мыши на край экрана. Значение определяет продолжительность времени, в течение которого вы должны удерживать курсор на границе прежде чем произойдет переключение на новый рабочий стол. Значение равное -1 отменяет такое переключение.

- ElectricBorderPointerWarp=`NoWarp|MiddleWarp|FullWarp` Если параметр `ElectricBorder` находится в положении `on`, поставьте здесь тоже `on`, чтобы сдвинуть курсор в соответствующую позицию после переключения рабочего стола.

- ElectricBorderNumberOfPushes=значение (по умолчанию 5 продвижений) Число продвижений в течение временной рамки установленной в `ElectricBorder` параметре для переключения на новый рабочий стол без перемещения окна.

- FocusPolicy=`ClickToFocus (Щелчком)| FocusFollowMouse(Фокус следует за мышью)| ClassicFocusFollowsMouse(Классический фокус следует за мышью)| ClassicSloppyFocus(Классический фокус щелчком)` `ClickToFocus` требует, чтобы пользователь щелкнул кнопкой мыши внутри окна для того, чтобы переместить фокус на данное окно. `FocusFollowMouse` всегда перемещает фокус в текущее положение курсора. `ClassicFocusFollowsMouse` - окно теряет фокус, когда курсор выходит за пределы окна. Kwm вариант FocusFollowMouse использовался для переноса фокуса на новые окна или Alt-Tab для обеспечения лучшего контроля с клавиатуры.

- MaximizeOnlyVertically=`off|on` Когда этот параметр в положении `on`, окно максимизируется только в вертикальном направлении.

- ResizeAnimation=`1..10` (максимальной скорости) Когда параметр в положении `on`, минимизация и максимизация окон включает графическую анимацию. (по умолчанию 1)

- RstartProtocol=`...` (по умолчанию "rstart -v")

- ShapeMode=`off|on` Если ShapeMode в положении `on`, то kwm использует заданные пользователем растровые изображения вместо заданных по умолчанию. (смотри внизу).

- ShapePixmapTop=растровое изображение ShapePixmapBottom=растровое изображение ShapePixmapLeft=растровое изображение ShapePixmapRight=растровое изображение ShapePixmapTopLeft=растровое изображение ShapePixmapTopRight=растровое изображение ShapePixmapBottomLeft=растровое изображение ShapePixmapBottomRight=растровое изображение Эти параметры определяют какие изображения будут показываться в соответствующих сторонах/углах окон, когда `ShapeMode` находится в положении `on`. растровое изображение должно указывать на имя файла изображения (.xpm), которое должно находится в share/apps/kwm/pics.

  Код kwm включает папку "images", которая содержит пример расширений формы окон.

- TitlebarLook=`shaded(затененный)|plain(обычный)|pixmap(растровое изображение)` Этот параметр определяет как будут выглядеть заголовки окон. Выберите `pixmap`, чтобы kwm показывал заданное пользователем изображение в заголовке окон так, как это определено в следующих строках:

- TitlebarPixmapActive=растровое изображение TitlebarPixmapInactive=растровое изображение Эти параметры задают изображения, которые будут показаны в заголовках активных и неактивных окон соответственно, когда TitleBarLook задан как `pixmap`.

- TitleAnimation=значение (в миллисекундах) Включение TitleAnimation говорит kwm в случае длинных заголовков окон (слишком длинных чтобы помещаться в зоне заголовка) передвигать надпись справа налево и обратно, чтобы можно было прочитать весь заголовок. Значение задает скорость перемещения. Значение 0 отменяет анимацию заголовка.

- TitlebarDoubleClickCommand=`winMaximize(Максимизация окна)| winShade(Затенение окна)| winMove(Перемещение окна)| winResize(Изменение размера окна)| winRestore(Восстановление окна)| winIconify(Минимизация окна)| winClose(Закрытие окна)| winSticky(Липучесть окна)| winOperations(Меню окна)` Этот параметр позволяет определить, что должно случаться, если пользователь дважды щелкнет кнопкой мыши на заголовок окна.

- TraverseAll=`on|off` Если `on`, тогда `Alt-tab` пролистывает через все окна на всех рабочих столах. В случае `off`, `Alt-tab` пролистывает только окна на открытом рабочем столе.

- WindowMoveType=`Opaque(Непрозрачный)|Transparent(Прозрачный)` Этот параметр контролирует то, как окно выглядит при его перемещении по экрану с помощью мыши. `Transparent` показывает только контуры окна при перемещении, а `Opaque` сохраняет содержимое окна.

- WindowsPlacement=`cascade(каскадом)|interactive(интерактивно)| manual(вручную)| random(случайным образом)|smart("умно")` Этот параметр определяет как kwm размещает окна на рабочем столе, когда они открываются в первый раз. `manual` позволяет пользователю самому разместить окно на рабочем столе. `interactive` требует дополнительного значения (в процентах), например: `WindowsPlacement=interactive,25` В случае `interactive`, kwm использует `smart (умный)` алгоритм размещения окон, но только если при этом новое окно не перекрывает уже существующие окна более чем на заданное количество процентов. В последнем случае используется `manual` алгоритм, который позволяет пользователю самому разместить окно. Процент может быть больше чем 100. Остальные параметры разрешают kwm автоматически разместить окно.

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

## 3.1.3. [Сессия]

- proxyignore=`xemacs,xterm,...,` Список разделенных запятой, не принадлежащих KDE программ, чьи текущие характеристики не нужно сохранять при выходе из KDE. Впишите имя программы с любыми аргументами командной строки.

## 3.1.4. [Рабочий Стол]

Этот раздел определяет число виртуальных рабочих столов, их названия и размещение. Он содержит такие строчки:

- NumberOfDesktops=значение Определяет число виртуальных рабочих столов. На время написания документации kwm поддерживает до 8 рабочих столов.

- Desktop#[C]=имя Определяет название имя Рабочего стола #, например, `Desktop1[C]=Один` Рабочие столы пронумерованы 1-8.

- Desktop#Region=geometry Определяет геометрию рабочего стола #; например, `Desktop1Region=101+0+923+722`

Заметьте, что модифицирование этих разделов файла настройки не приведет к разительным изменениям, так как kpanel, при перезапуске, сообщит kwm разумные значения параметров для текущего рабочего стола. При вашем выходе из системы, kwm сохранит эти, более новые, установки.

## 3.1.5. [Оформление]

- noDecorationTitles=,

- tinyDecorationTitles=,

- noDecorationClasses=,

- tinyDecorationClasses=,

## 3.1.6. [Фокус]

- noFocusTitles=,

- noFocusClasses=,

Каждая характеристика позволяет вам задать список выражений, разделенных запятой. Окно, с заголовком или классом, соответствующим одному из выражений, будет оформлено соответствующим образом Примечание: Все изменения будут влиять только на окна, открытые после сохранения kwmrc. Не забудьте запустить kwmcom `configure`, или перезапустить `kwm` после того, как вы изменили файл kwmrc.

## 3.1.7. [Липучесть]

- stickyTitles=,

- stickyClasses=,

Каждое свойство позволяет вам задать список регулярных выражений. Окно, у которого заголовок или класс совпадает с заданным выражением, будет оформлено соответствующим образом. Примечание: Эти изменения влияют только на НОВЫЕ окна. Не забудьте вызвать kwmcom `configure`, или перезапустить `kwm` после изменений в файле kwmrc.

Возможно, вместо изменения файла настройки, вы предпочтете использовать утилиту `kstart`.