Инструменты пользователя

Инструменты сайта


xxkb:xxkb

XXKB

Индикатор-переключатель раскладки клавиатуры XXKB.

Автор: Иван Паскаль

Эта программа, как следует из заголовка, предназначена для индикации текущей раскладки клавиатуры (рус/лат) и для переключения этой раскладки.

Программа xxkb является дополнением к «клавиатурному модулю» XKB, то есть, в отличии от других подобных программ, сама не загружает никакие раскладки и не манипулирует ими. Она только отображает состояние XKB и меняет это состояние «штатными средствами» XKB. (Напомню, что сам XKB может содержать в себе одновременно до 4-х раскладок клавиатуры и оперативно переключать их без помощи внешних «подгружателей»).

Несмотря на свою простоту, xxkb имеет немало полезных возможностей (в общем-то, уникальных):

  • для каждого окна приложений запоминается текущее состояние клавиатуры и автоматически восстанавливается при изменении фокуса;
  • на каждом окне появляется дополнительная кнопка-«иконка», которая в свою очередь служит индикатором и переключателем для данного окна;
  • переключать клавиатуру можно как «мышкой», так и обычной клавишей (или комбинацией клавиш), определенной в конфигурации XKB. То есть, клавишу-переключатель легко изменить средствами XKB.
  • если в XKB групп (раскладок) больше двух, то xxkb позволяет выбрать в каждом приложении одну из альтернативных раскладок, и в дальнейшем переключаться только между двумя выбранными раскладками (как при обычном рус/лат);
  • все эти «вкусности» работают практически с любым (!) window manager'ом.

http://pascal.tsu.ru/other/xxkb/

https://sourceforge.net/projects/xxkb/

Установка

apt-get install xxkb

Настройка

Общая статья о настройке клавиатуры здесь.

В конец файла /etc/X11/app-defaults/XXkb добавляем:

! Помещать "кнопку" на отслеживаемое окно.
XXkb.button.enable: no
! Выключаем показ иконки xxkb в заголовках окон приложений
XXkb.mainwindow.appicon: no
! Включаем основное окно xxkb
XXkb.mainwindow.enable: yes
! Указываем, что значок переключателя должен показываться в трее
XXkb.mainwindow.type: tray
! Устанавливаем тип трея
XXkb.mainwindow.in_tray: KDE2
! Устанавливаем размер значка, который будет показываться в трее
! (!) Обязательно надо указать часть "+0+0"
XXkb.mainwindow.geometry: 15x15+0+0
! Указываем значки для каждой раскладки из тех, что были указаны в качестве параметров команды setxkbmap
! (!) Наличие всех 4 параметров в файле настроек обязательно.
XXkb.mainwindow.image.1: en15.xpm
XXkb.mainwindow.image.2: ru15.xpm
XXkb.mainwindow.image.3:
XXkb.mainwindow.image.4:

! Запрет закрытия окна
XXkb.controls.mainwindow_delete: no

! Текст вместо картинок
XXkb.mainwindow.enable: yes
XXkb.mainwindow.label.enable: yes
XXkb.mainwindow.type: tray
XXkb.mainwindow.appicon: no
XXkb.mainwindow.geometry: 24x24+0+0
XXkb.mainwindow.label.background: blue4
XXkb.mainwindow.label.foreground: white
XXkb.mainwindow.label.font: -misc-*-r-*-18-*
XXkb.mainwindow.label.text.1: En
XXkb.mainwindow.label.text.2: Ru
XXkb.controls.add_when_start: yes
XXkb.controls.two_state: no
XXkb.button.enable: no

:!: Важно соблюдать порядок меток!
Например, если первой (по умолчанию) является английская раскладка, то указываем так:

XXkb.mainwindow.label.text.1: En
XXkb.mainwindow.label.text.2: Ru

а если русская, то наоборот:

XXkb.mainwindow.label.text.1: Ru
XXkb.mainwindow.label.text.2: En

IceWM

Настройка IceWM:

Нужно добавить файл /etc/X11/icewm/startup

xxkb&

xrdp

Настройка xrdp:

Нужно добавить файл /etc/xrdp/reconnectwm.sh

if pgrep -u $(whoami) xxkb>/dev/null; then
    pkill xxkb;xxkb&
fi

Этот скрипт пере запускает xxkb только если он был запущен.

Ссылки

xxkb/xxkb.txt · Последние изменения: 2023-04-21 12:45 — GreyWolf