Конфигурация JWM содержится в файле .jwmrc
. Это XML-файл с возможностью ручного и программного редактирования. Файл .jwmrc
представляет пример конфигурационного файла с большим количеством вариантов опций. Перед перезапуском JWM желательно выполнить команду jwm -p
для проверки ошибок конфигурационного файла. Иначе Вы можете остаться без Главного меню.
Главное меню в JWM — это основной способ запуска программ. Это также способ перезапуска и выхода из оконного менеджера. Возможно иметь несколько Главных меню (см. пояснение для атрибута onroot). Основной тэг RootMenu. Он может содержать следующие дополнительные параметры:
onroot Определяет какие кнопки в запущенном окне активизируют меню. Это — список целых чисел, определяющих кнопки. По-умолчанию: 123. Несколько Главных меню могут активироваться выбором различных кнопок. Значения в этом списке от 0 до 9. Значения для кнопок мыши: 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка, 4 и 5 — колесо прокрутки. Поэтому, доступ к Главным меню, которые назначены на кнопки 0, 6, 7, 8 и 9 будет типично требовать использования кнопок трея или привязки клавиш.
height Высота каждого пункта меню в пикселях. 0 указывает, что наибольший пункт меню определит высоту. По-умолчанию: 0.
label Заголовок меню. По-умолчанию: JWM.
labeled Определяет наличие или отсутствие заголовка. Значения: true (есть) или false (нет). По-умолчанию: false.
В пределах тэга RootMenu используются следующие тэги:
Menu Этот тэг создаёт элемент подменю. Любой из тэгов, используемый в пределах тэга RootMenu, включая тэг Menu, может использоваться в пределах этого тэга. Тэг Menu может содержать следующие дополнительные параметры:
height Высота каждого пункта меню в пикселях. 0 указывает, что наибольший пункт меню определит высоту. Значение по-умолчанию унаследовано от родительского меню.
label Заголовок меню. По-умолчанию: не определено
icon Значок перед названием меню. По-умолчанию: не определено
labeled Определяет наличие или отсутствие заголовка. По-умолчанию: false.
Include Включает использование файла или вывода программы в структуру меню. Файл (или вывод программы) должны начинаться с тэга JWM, содержащего один или несколько элементов в пределах меню. Файл определяется текстом тэга. Если текст начинается с exec:, то выводится указание на исполнение.
Program Тэг Program обеспечивает запуск программ. Текст этого тэга указывает команду запуска программы. Может содержать следующие параметры:
Separator Устанавливает разделительную линию между пунктами меню. Никакой текст или параметры не используются.
Desktops Этот тэг добавляет меню рабочих столов. Это — меню со списком рабочих столов, которые могут выбираться для смены текущего рабочего стола. Может содержать следующие параметры:
SendTo Добавляет в меню пункт «Отправить». Содержит список рабочих столов, на которые переносится выбранное окно. Может содержать следующие параметры:
Stick Добавляет в меню операцию прикрепления/открепления. После выбора этого пункта окно переключается в прикреплённое состояние (будет доступно на всех рабочих столах). Может содержать следующие параметры:
Maximize Добавляет в меню операцию развёртывания окна на весь экран. После выбора этого пункта окно переключается в развёрнутое состояние. Может содержать следующие параметры:
Minimize Добавляет в меню операцию свёртывания окна в трей. После выбора этого пункта окно переключается в свёрнутое состояние. Может содержать следующие параметры:
Shade Добавляет в меню операцию свёртывания/развёртывания окна в заголовок. После выбора этого пункта окно переключается в свёрнутое в заголовок состояние. Может содержать следующие параметры:
Move Добавляет в меню операцию перемещения окна по рабочему столу. После выбора этого пункта окно можно перемещать по столу. Может содержать следующие параметры:
Resize Добавляет в меню операцию изменения размеров окна. После выбора этого пункта можно изменять размеры окна. Может содержать следующие параметры:
Kill Добавляет в меню операцию удаления окна. После выбора этого пункта окно удаляется. Может содержать следующие параметры:
Close Добавляет в меню операцию закрытия окна. После выбора этого пункта окно закрывается. Может содержать следующие параметры:
Restart Этот тэг добавляет в меню пункт перезагрузки менеджера окон. Может содержать следующие параметры:
Exit Этот тэг добавляет в меню пункт выхода из менеджера окон. Текст включённый в этот тэг интерпретируется в запуск команды выхода из JWM. Может использоваться для запуска другого менеджера окон. Может содержать следующие параметры:
label Название пункта меню. По-умолчанию: Exit.
icon Значок перед названием. По-умолчанию: не определено.
confirm Определяет, появляется ли подтверждающийся диалог перед выходом. По-умолчанию: true. Важно: подтверждающий диалог может быть полностью отключён во время компиляции.
С помощью тэга Tray можно создать один или несколько треев. Может содержать следующие параметры:
autohide Определяет, активировано ли скрытие трея. По-умолчанию: false.
x Х-координата расположения трея. Отрицательное значение указывает на смещение от правого края экрана.
y Y-координата расположения трея. Отрицательное значение указывает на смещение от нижнего края экрана.
width Ширина трея. 0 указывает на оптимальный подбор ширины трея в зависимости от состава и расположения его компонентов. По-умолчанию: 0
height Высота трея. 0 указывает на оптимальный подбор высоты трея в зависимости от состава и расположения его компонентов. По-умолчанию: 0
border Ширина рамки вокруг трея. По-умолчанию: 1. Целое число от 0 до 32.
layer Слои трея. По-умолчанию: 8. Целое число от 0 до 12.
layout Расположение трея. По-умолчанию: horizontal. Возможные значения horizontal и vertical.
halign Горизонтальное выравнивание трея. По-умолчанию: fixed. Возможные значения fixed, left, center и right (фиксировано, левое, центр и правое).
valign Вертикальное выравнивание трея. По-умолчанию: fixed. Возможные значения fixed, top, center и bottom (фиксировано, верх, центр и низ).
В пределах тэга Tray используются следующие тэги:
Clock Добавляет в трей часы. Текст этого тэга может определять команду запуска при щелчке на часах. Этот тэг может содержать следующие параметры:
format Формат часов. Для доп. информации см.: strftime(3). По-умолчанию: %I:%M %p.
width Ширина значка. 0 указывает, что ширина определяется в зависимости от размеров трея и используемого шрифта. По-умолчанию: 0.
height Высота значка. 0 указывает, что высота определяется в зависимости от размеров трея и используемого шрифта. По-умолчанию: 0.
Dock Добавляет в трей область уведомлений системы (программ, работающих в фоновом режиме (Прим. перев.)). Применяется для программ, которые используют выбор _NET_SYSTEM_TRAY_Sn. Размер области динамически зависит от размеров трея и количества содержащихся пунктов. JWM позволяет создать только одну область уведомлений.
Pager Добавляет в трей пейджеры (контурные изображения в трее окон, открытых на рабочем столе (Прим. перев.)). Этот тэг может содержать следующие параметры:
width Ширина пейджеров. 0 указывает, что ширина определяется в зависимости от размеров трея. По-умолчанию: 0.
height Высота пейджеров. 0 указывает, что высота определяется в зависимости от размеров трея. По-умолчанию: 0.
Swallow Программы внедрённые в трей (работающие в фоновом режиме (Прим. перев.)). Текст тэга содержит команду запуска программы. Этот тэг может содержать следующие параметры:
name Название внедрённой программы. Этот параметр необходим для определения JWM-ом внедрённой программы.
width Ширина значка внедрённой программы. 0 указывает, что ширина определяется в зависимости от размеров трея и значка программы. По-умолчанию: 0.
height Высота значка внедрённой программы. 0 указывает, что высота определяется в зависимости от размеров трея и значка программы. По-умолчанию: 0.
TaskList Добавляет в трей панель задач. Этот тэг может содержать следующие параметры:
TrayButton Добавляет в трей кнопки быстрого запуска. Этот тэг может содержать следующие параметры:
label Название на кнопке. По-умолчанию: не определено.
icon Значок на кнопке. По-умолчанию: не определено.
popup Текст во всплывающем окне. По-умолчанию: название на кнопке. Текст этого тэга определяет, что делает кнопка:
exec:program Выполнить program.
showdesktop Это название по умолчанию. Сворачивает все окна на текущем рабочем столе.
root:n Показывает главное меню n. Заданное по умолчанию значение: «root:1».
Другие файлы конфигурации могут вкладываться внутрь тэга JWM через тэг Include. Текст этого тэга указывает расположение дополнительного конфигурационного файла. Путь может указываться относительно расположения запущенного JWM, либо как абсолютный путь. Файл должен иметь атрибут «для чтения». Формат доп. конфигурационного файла должен соответствовать формату основного файла конфигурации.
Программные группы позволяют задавать одни настройки, которые применяются для групп программ по их имени и/или классу. Программные группы создаются тэгом Group. Количество программных групп создаётся по желанию. В пределах тэга Group используются следующие тэги:
Name Название программ, соответствующих данной группе. Это поле различает регистр. Можно использовать символы «*»
Class Класс окон для программ, соответствующих данной группе. Это поле различает регистр. Можно использовать символы «*»
Option Настройки для данной группы. В таблице ниже приведён список возможных настроек:
Option | Description |
border | Включает рамку на окнах в этой группе. |
desktop:# | Рабочий стол, на котором запустятся окна в этой группе. |
icon:icon | Значок, использующийся для окон в этой группе. |
layer:# | Слой, на котором запустятся окна в этой группе. |
maximized | Делает «максимизацию» окон в этой группе. |
hmax | Делает «максимизацию» окон по-горизонтали по умолчанию. |
vmax | Делает «максимизацию» окон по-вертикали по умолчанию. |
minimized | Делает «минимизацию» окон в этой группе. |
noborder | Выключает рамку на окнах для окон в этой группе. |
nolist | Вызывает игнорирование треем окон в этой группе. |
notitle | Выключает заголовок окна для окон в этой группе. |
pignore | Игнорирует позицию инициализации настроек программ. |
shaded | Делает свёртывание окон в этой группе. |
sticky | Делает прикрепление окон в этой группе. |
title | Включает заголовок окна для окон в этой группе. |
Тэг WindowStyle управляет видом рамки окна. В пределах этого тэга используются следующие тэги:
Width Ширина рамки в пикселях. По-умолчанию: 4, минимально: 1, максимально: 32.
Height Высота рамки в пикселях. По-умолчанию: 20, минимально: 2, максимально: 64.
Active Используемый цвет рамки для активного окна. См.: Colors. В пределах этого тэга используются следующие тэги:
Text Цвет шрифта заголовка.
Title Цвет рамки (поддерживается градиент) (использование переходов цветов (прим. перев.)).
Corner Цвет угловых дескрипторов.
Outline Цвет контура окна.
Inactive Используемый цвет рамки для неактивного окна. В пределах этого тэга используются те же тэги, что и для тэга Active.
Тэг ClockStyle управляет видом часов в трее. В пределах этого тэга используются следующие тэги:
Тэг TrayStyle управляет видом трея. В пределах этого тэга используются следующие тэги:
Тэг TaskListStyle управляет видом панели задач. Этот тэг может содержать следующие параметры:
В пределах этого тэга используются следующие тэги:
Foreground Цвет переднего плана (шрифта) панели задач. См.: Colors.
Background Цвет фона (заднего плана) панели задач. Поддерживается градиент. См.: Colors.
ActiveForeground Цвет переднего плана (шрифта) для активных элементов панели задач. См.: Colors.
ActiveBackground Цвет фона (заднего плана) для активных элементов панели задач. Поддерживается градиент. См.: Colors.
Тэг PagerStyle управляет видом пейджеров в трее. В пределах этого тэга используются следующие тэги:
Outline Цвет контура пейджеров. См.: Colors.
Foreground Цвет пейджера неактивного окна на активном рабочем столе и всех окон на неактивном рабочем столе. См.: Colors.
Background Цвет фона неактивного рабочего стола (в трее (прим. перев.)). См.: Colors.
ActiveForeground Цвет пейджера активного окна на активном рабочем столе. См.: Colors.
ActiveBackground Цвет фона активного рабочего стола (в трее (прим. перев.)). См.: Colors.
Тэг MenuStyle управляет видом меню в JWM (включая главное меню и меню окон). В пределах этого тэга используются следующие тэги:
Foreground Цвет текста неактивных пунктов меню. См.: Colors.
Background Цвет фона (заднего плана) неактивных пунктов меню. См.: Colors.
ActiveForeground Цвет текста активных пунктов меню. См.: Colors.
ActiveBackground Цвет фона (заднего плана) активных пунктов меню. Поддерживается градиент. См.: Colors.
Тэг PopupStyle управляет видом всплывающих окон, например тех, которые появляются при наведении курсора мыши на элементы панели задач. Этот тэг может содержать следующие параметры:
В пределах этого тэга используются следующие тэги:
Outline Цвет контура окна. См.: Colors.
Foreground Цвет текста в окне. См.: Colors.
Background Цвет фона (заднего плана) окна. См.: Colors.
Цвета для различных частей JWM определяются в пределах соответствующих тэгов (описано выше). Цвета могут обозначаться в шестнадцатеричном коде в RGB формате (напр., #FF0000 — это красный) или записываться названиями, распознаваемыми X-сервером. Для компонентов, поддерживаемых градиенты, два цвета указываются через двоеточие.
Значки для окон, которые не используют поле _NET_WM_ICON
, можно найти по путям поиска значков. При этом, имя искомого значка (без расширения) будет совпадать с именем окна, возвращаемым через поле WM_CLASS
. Если поиск не удается, применяется значок, заданный по умолчанию. Этот значок будет отображаться в заголовке окна и в панели задач. Значки несоответствующих размеров будут масштабированы. Лучше всего работают квадратные значки.
Для пунктов меню ищется соответствующий путь значка. Значок, указанный для пункта меню, должен быть точным именем файла значка с расширением. Если соответствие не найдено, появится пустая область, где должен находиться значок. Если значок не указан для любого пункта меню в меню, никакой области не появиться.
Можно указывать любое количество тэгов IconPath (или совсем не указывать). Текст этого тэга предполагает указание абсолютного пути к директориям, содержащим XPM, PNG и/или JPEG значки. При поиске значков, если указаны множественные пути, пути будут искаться по порядку, пока не найдётся соответствие. Укажите поддержку PNG,JPEG и XPM значков в настройках при компиляции.
Привязкой клавиш клавиатуры в JWM управляет конфигурационный файл. Например:
<?xml version="1.0"?>
<JWM>
.
.
.
<Key mask="mask" key="key">action</Key>
</JWM>
Здесь «mask» указывает служебную клавишу,которая должна удерживаться для включения этой операции, а «key» — нажатую клавишу. keycode можно указывать вместо key, если известен ключевой код, но клавиши нет (или нет никакого символа для ключевого кода). action — это выполняемая операция при нажатой комбинации клавиш. Секция mask необязательна. Она может содержать любое число следующих значений :
A — Alt
C — Control
S — Shift
H — Hyper
M — Meta
P — Super
Секция key должна содержать строку значения клавиши для XStringToKeysym. Желательно, чтобы значения совпадали(например, клавиша выхода называется «Escape»). Наконец, action -- это действие, выполняемое при нажатии клавиши. Выполняемые действия:
Value | Description | Grabbed? |
up | Клавиша для действия «вверх». | No |
down | Клавиша для действия «вниз». | No |
right | Клавиша для действия «вправо». | No |
left | Клавиша для действия «влево». | No |
escape | Клавиша для отмены move/resize или выхода из меню. | No |
select | Клавиша для действия «выбор». | No |
next | Клавиша для выбора следующего окна в панели задач. | Yes |
nextstacked | Клавиша для выбора следующего окна в списке стеков. | Yes |
close | Клавиша для закрытия окна. | Yes |
miminize | Клавиша для минимизации окна. | Yes |
maximize | Клавиша для максимизации окна. | Yes |
shade | Клавиша для свёртывания окна в заголовок. | Yes |
move | Клавиша для перемещения окна. | Yes |
resize | Клавиша для изменения размера окна. | Yes |
root:n | Клавиша для вывода главного меню n. | Yes |
window | Клавиша для вывода вспомогательного меню активного окна. | Yes |
desktop | Клавиша для вывода следующего рабочего стола. | Yes |
desktop# | Клавиша для вывода указанного рабочего стола. Чтобы это использовать, # должен быть указан в секции key. Затем номера от 1 до числа сконфиг. раб. столов заменяются на #. | Yes |
exec:command | Клавиша для выполнения command. | Yes |
restart | Клавиша для перезапуска JWM. | Yes |
exit | Клавиша для выхода из JWM. | Yes |
Графа «grabbed» показывает, может ли клавиша для указанного действия быть перехвачена менеджером окон. Отметьте, что никакое закрепление, не указанное в конфигурационном файле, не будет доступно. Также можно связать множество комбинаций клавиш с одним и тем же действием.
Любая кнопка в основном окне вызывает главное меню.
Правая кнопка вызывает вспомогательное меню во фрейме (рамке вокруг окна (прим.перев.)).
Левая кнопка вызывает изменение размера окна (на рамке), или перемещение окна (на заголовке).
Средняя кнопка вызывает перемещение окна во фрейме.
Двойной щелчок лев. кнопкой на заголовке окна вызывает переключение размеров окна.
Колесо мыши переключает пункты меню, когда оно открыто; вызывает главное меню, когда курсор находиться на кнопке «Меню»; переключает рабочие столы, когда курсор находиться на пейджерах.
Примечание: в будущем это можно конфигурировать.
Виртуальные рабочие столы контролируются тэгом Desktops. Этот тэг может содержать следующие параметры:
В пределах тэга Desktops используются следующие тэги:
Background Фон (задний план) рабочего стола по умолчанию. Параметр type определяет тип фона, а текст внутри тэга — значение. Существуют следующие типы:
solid Ровный цвет. См.: Colors. Используется по умолчанию.
gradient Градиент цвета. См.: Colors.
image Растянутое изображение.
tile Плиточное изображение.
command Команда запуска настройки фона.
Desktop Данные конкретного рабочего стола. Параметр name может указывать название рабочего стола (по умолчанию указан номер рабочего стола). В пределах этого тэга может применяться тэг Background, который определяет фон для конкретного рабочего стола. См. выше Background для более полной информации.
Также возможно использование следующих тэгов:
Тег | Назначение | Default | Диапазон |
DoubleClickDelta | Число пикселей, на которые перемещается мышь в течении двойного щелчка | 2 | 0--32 |
DoubleClickSpeed | Число миллисекунд между нажатиями в двойном щелчке | 400 | 1--2000 |
FocusModel | Модель наведения используемая в JWM | sloppy | click, sloppy |
MoveMode | Режим перемещения. Необязательный параметр coordinates определяет положение указателя координат окна. Возможные значения off, corner, window и screen (по умолч.). | opaque | opaque, outline |
ResizeMode | Режим изменения размеров. Необязательный параметр coordinates определяет положение указателя размеров окна. Возможные значения off, corner, window и screen (по умолч.). | opaque | opaque, outline |
RestartCommand | Команда перезапуска JWM. | | |
ShutdownCommand | Команда выхода из JWM. | | |
SnapMode | Режим привязки. Необязательный параметр distance определяет расстояние привязки (по умолчанию: 5, диапазон: 1--32). | border | none, screen, border |
StartupCommand | Команда запуска JWM. | | |
Перевел ZG