($ zcat /usr/doc/share/xxkb/README.koi8.gz
)
Den Anfang zu den allgemeinen Merkmalen und der Installation habe ich mal weggelassen ;-)
Все параметры для настройки xxkb ищет в файлах
/usr/X11R6/lib/X11/$(LANG)/app-defaults/XXkb
/usr/X11R6/lib/X11/<lang>/app-defaults/XXkb
/usr/X11R6/lib/X11/app-defaults/XXkb
$(HOME)/$(LANG)/.xxkbrc
$(HOME)/<lang>/.xxkbrc
$(HOME)/.xxkbrc
XXkb.xpm.path - директория, откуда зачитываются все "картинки" (файлы .xpm)
** Параметры "главного окна"
XXkb.mainwindow.enable - "включает" главное окно. По умолчанию - yes. Если вы не запретили выводить "кнопку" на каждое окно (см. ниже), то, возможно, вам не нужно, чтобы главное окно "болталось" на экране.
XXkb.mainwindow.appicon - специально для Window Maker'а. Позволяет "причаливать" (dock) xxkb. Можно использовать и с другими WM, но результат сильно зависит от типа WM.
XXkb.mainwindow.geometry - размер главного окна - "ширина"x"высота" (желательно, чтобы они соответствовали размеру "картинок" для главного окна)
XXkb.mainwindow.xpm.1 XXkb.mainwindow.xpm.2 XXkb.mainwindow.xpm.3 XXkb.mainwindow.xpm.4 - название файлов "картинок" для четырех групп xkb. Если в xkb определены не все четыре группы, то можно не указывать "картинки" для неиспользуемых групп.
Если агрумент начинается со знака "/", то он трактуется как "полный путь" к файлу. В противном случае, считается, что это только имя файла из директории заданной "XXkb.xpm.path".
Управление "режимами" работы.
XXkb.controls.add_when_start - если этот режим включен, то при старте xxkb сам находит все запущенные к этому моменту приложения и начинает их "отслеживать". По умолчанию - yes. Но может работать некорректно с некоторыми window manager'ами.
XXkb.controls.add_when_create - добавлять окно в "список отслеживаемых" при его создании. По умолчанию - yes. Но может работать некорректно с некоторыми window manager'ами.
XXkb.controls.add_when_change - добавлять окно в "список отслеживаемых", если произошло изменение состояния клавиатуры, фокус направлен в это окно и оно отсутствует в "списке отслеживаемых". По умолчанию - no. Это вспомогательный режим. Имееть смысл только если выключен режим "добавление при создании" или xxkb запущен слишком поздно (уже открыто несколько окон, "создание" которых он не застал и не нашел их при старте). Надо заметить, что этот режим не отменяет действие других.
XXkb.controls.focusout - "сбрасывать" клавитуру в состояние (группу) по умолчанию, когда фокус "покидает окно". По умолчанию - no.
Имеет смысл, когда используется только режим "добавлять при изменении состояния клавиатуры". Тогда xxkb "помнит" только те окна, в которых изменялось состояние клавиатуры и не будет переключать клавиатуру, при "расфокусировки" этих окон. В этом случае может оказаться полезным "сбрасывать" клавиатуру в исходное состоянии при "расфокусировке" окна. Если же отслеживаются все окна (включен режим "добавление при создании"), то указанный режим только добавит кучу ненужных переключений клавиатуры.
XXkb.button.enable - помещать "кнопку" на отслеживаемое окно. По умолчанию - yes.
XXkb.controls.button_delete - разрешить уничтожение "кнопки" при нажатии "средней кнопки мыши". По умолчанию - yes.
Дело в том, что xxkb может "вывешивать" свою "кнопку" на те окна, где они нежелательны (например, на "менюшки" window manager'а). Этот режим позволяет убирать "нежелательные кнопки".
XXkb.controls.two_state - режим "два состояния" перключателя клавиатуры. По умолчанию - yes. Если в xkb описаны более чем две группы, можно выбрать одну из них в качестве "базовой" и вторую в качестве "альтернативной". Тогда переключатель групп ("рус/лат") будет переключаться между двумя выбранными группами, а не перебирать их циклически.
Эта "коррекция" действует как на переключение "щелчком мыши по иконке", так и на клавишу "переключатель групп" (например - CapsLock). При этом каждое из окон может иметь свою "альтернативную" группу ("базовая" одна на всех). Если этот режим включен, то "левая кнопка мыши" действует как и клавиша "переключаетель групп", а "правая кнопка" позволяет выбрать "альтернативную" группу, переключая группы циклически.
Если этот режим включен, то имеют смысл еще два параметра
XXkb.group.base - "базовая" группа (число 1-4) XXkb.group.alt - "альтернативная" группа по умолчанию (1-4).
Напомню, что в процессе работы "альтернативную" группу конкретного окна можно поменять (правой кнопкой мыши)
Все эти параметры имеют смысл, если включен режим XXkb.button.enable. Напомню, что xxkb сам "вляпывает" кнопку на "обрамление окна". Поэтому, чтобы кнопка "гармонировала" с тем "обрамлением", которое делает ваш window manager, возможно понадобится подобрать ее размеры и положение на "обрамлении".
XXkb.button.geometry - "геометрия кнопки".
Имеет вид "ширина"x"высота"+/-"координата X"+/-"координата Y". Если координата указана "со знаком плюс", то она отсчитывается от "левого верхнего угла". Если "со знаком минус", то от противоположной стороны. То есть "координата X" отсчитывается от правого края окна, а "координата Y" от нижнего края. По умолчанию - 15x15-60+7 (вполне подходит для fvwm95).
XXkb.button.gravity - "притяжение" кнопки.
Определяет - как будет меняться положение кнопки при изменении размеров окна. Другими словами - относительно какого угла (или стороны) "обрамления" положение кнопки должно оставаться неизменным. Для большинства window manager'ов - относительно правого-верхнего (северо-восточного) или левого-верхнего (северо-западного). Значение этого параметра может быть только - North, NorthEast, NorthWest, South, SouthEast, SouthWest, East, West и Center. По умолчанию - NorthEast (правый-верхний угол).
XXkb.button.xpm.1 XXkb.button.xpm.2 XXkb.button.xpm.3 XXkb.button.xpm.4 - название файлов "картинок" для кнопки (для четырех групп). Подробности те же, что и для XXkb.mainwindow.xpm.
XXkb.bell.enable - включает/выключает "писк" на каждое изменение группы; по умолчанию - no XXkb.bell.percent - параметр, который передается XBell.
для которых нужны какие-нибудь особые действия.
XXkb.app_list.<критерий>.<действие>: <список>
<Действие> может быть
ignore
- приложения из этого списка игнорируются и не отслеживаются.
Дополнительная опция ignore.reverse (см. ниже) меняет смысл этого
списка на обратный.
start_alt
- для приложений из этого списка при старте сразу
включается алтернативная группа (обычно - русская).
alt_group1
, alt_group2
, alt_group3
, alt_group4
- позволяют
указать, что для приложений из этого списка надо сразу установить
алтернативную группу, указанную цифрой, а не ту, что задана опцией
XXkb.group.alt.
<Критерий> может быть wm_class_class, wm_class_name, wm_name. Xxkb отличает приложения по их "свойствам" (properties) - WM_CLASS или WM_NAME. WM_CLASS в свою очередь состоит из двух частей res_class и res_name. <Критерий> как-раз определяет - по каким свойствам (или их частям) идентифицировать окно.
Замечу, что у многооконных приложений обычно все окна имеют один и тот
же WM_CLASS:res_class
и разные WM_CLASS:res_name
. А "свойство"
WM_NAME
сдужит для того, чтобы объяснить Window Manager'у - какой
заголовок окна высвечивать в titlebar'е и может меняться от вызова к
вызову (например - имя редактируемго/просматриваемого документа).
Поэтому -
wm_class_class
);
wm_class_name
) можно использовать
для "тонкой подстройки", когда требуется выделить только отдельные
окна (меню, диалоги) приложения;
wm_name
) имеет смысл использовать только в
крайнем случае, если окно не имеет WM_CLASS.
Напомню, что посмотреть WM_CLASS и/или WM_NAME окна можно спомощью команды xprop.
По умолчанию списки пустые. Список представляет собой просто набор слов (без кавычек, через пробел/табуляцию). В словах можно использовать "звездочку" - ''. Длинные списки можно продолжать на следующие строки с помощью знака '́. Например -
XXkb.app_list.wm_name.ignore: Fvwm *clock <nop>\ Xman