индикатор раскладки клавиатуры в xfce


После успешной установки Debian Testing, во время которой я забыл поменять default desktop на xfce, я все таки поставил xfce.

Сделал я это такой командой:

sudo apt-get install xfce4 xfce4-goodies

В качестве индикатора раскладки я решил использовать xfce4-xkb-plugin.

К сожалению, у него отсутствует опция подсветки альтернативной раскладки с помощью клавиатурных лампочек.

Поэтому придется настроить его вручную.

Для начала, зайдите в свойства плагина, нажав правой кнопкой и выбрав свойства.

После настройки проверьте его работоспособность и приступите к ручной правке конфига.

Конфиг плагина xfce4-xkb-plugin находится в ~/.config/xfce4/panel/ под именем xkb-plugin-##.rc

## — это порядковый номер. Он может отличаться от моего. Мой был 17, для примера.

Добавив опцию grp_led:caps я сохранил файл.

Вот как он стал выглядеть:

insider@laptop:~$ cat ~/.config/xfce4/panel/xkb-plugin-17.rc
display_type=1
display_textsize=0
group_policy=1
default_group=0
never_modify_config=false
model=pc105
layouts=us,ru
variants=,
toggle_option=grp:alt_shift_toggle,grp_led:caps
compose_key_position=compose:ralt

После этого, я запретил изменение этого файла:

sudo chattr +i ~insider/.config/xfce4/panel/xkb-plugin-17.rc

Ну и перезапустил процесс плагина:

insider@laptop:~$ pkill xkb

Для полной перестраховки можно еще выполнить такую команду:

setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:caps us,ru

grp:switch                   —   означает возможность переключения раскладки

grp:alt_shift_toggle    —   расладка переключается комбинацией Shift + Alt

grp_led:caps              —   при альтернативной раскладке загорается лампочка Caps Lock (у меня нет Scroll Lock лампочки)

Опыт подтвердил, что xfce4-xkb-plugin штука глючная и ненадежная, а еще и прожорливая до памяти, из-за утечек, поэтому я остановился на следующем.

Установим xxkb

sudo apt-get install xxkb

Создадим в хомяке конфиг, иначе он не запустится.

cat > ~/.xxkbrc
XXkb.mainwindow.enable: yes
XXkb.mainwindow.label.enable: yes
XXkb.mainwindow.type: tray
XXkb.mainwindow.appicon: no
XXkb.mainwindow.geometry: 30x30+0+0
XXkb.mainwindow.label.background: black
XXkb.mainwindow.label.foreground: white
XXkb.mainwindow.label.font: -misc-*-r-*-14-*
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
^C

Ну и добавим в автозагрузку две команды, можно их в один скрипт совместить.

settxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:caps us,ru
xxkb

Вот и всё. Наконец-то оно работает так как мы этого ожидали.

comments powered by Disqus