xxkb

Tastatur-Verwaltung mit XxKB

Bedienungsanleitung auf Russisch

($ zcat /usr/doc/share/xxkb/README.koi8.gz)

Den Anfang zu den allgemeinen Merkmalen und der Installation habe ich mal weggelassen ;-)

НАСТРОЙКА.

Все параметры для настройки xxkb ищет в файлах

Общие параметры

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.<критерий>.<действие>: <список>

<Действие> может быть

<Критерий> может быть 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 и/или WM_NAME окна можно спомощью команды xprop.

По умолчанию списки пустые. Список представляет собой просто набор слов (без кавычек, через пробел/табуляцию). В словах можно использовать "звездочку" - ''. Длинные списки можно продолжать на следующие строки с помощью знака '́. Например -

XXkb.app_list.wm_name.ignore: Fvwm *clock <nop>\
                         Xman
XXkb.ignore.reverse
считать окна в списке игнорируемые или наоборот – отображаемыми. По умолчанию - no. То есть, списки c "действием" ignore определяют окна, которые нужно игнорировать (как и следует из названия). Если этот параметр - yes, то те же списки задают перечень окон, которые наоборот - нужно отслеживать, а все остальные игнорируются.

УПРАВЛЕНИЕ В ПРОЦЕССЕ РАБОТЫ.

Кнопки мыши (mouse buttons).



Ivan Pascal pascal@tsu.ru