Привязка раскладки клавиатуры к приложениям

Во многих популярных DE существуют свои утилитки для управления раскладками клавиатуры (Gnome, KDE), и обычно в них сразу настроена привязка раскладки к приложениям, те они запоминают, на каком приложении какая раскладка, и автоматически при смене фокуса ее выставляют. А вот в более легких раскладкой управляет сам xorg, и там такого не предусмотрено.


Такая же проблема возникла и у меня на xfce. Никаких дополнительных плагинов к ней я так и не нашел, но случайно наткнулся на утилитку xxkb, которая весит чуть больше 20 КБ, и является надстройкой над стандартной xorg-овской переключалкой xkb. У меня она была в родных репозиториях (Arch Linux), думаю и в других дистрибутивах тоже. По возможностям она удовлетворяла всем моим потребностям.
Для работы программы необходим запущенный xkb.
После установки конечно же не создалось никаких конфигурационных файлов, поэтому будем делать все вручную. Создадим в домашнем каталоге файл .xxkbrc и вбиваем в него нужные параметры. Для примера приведу свой:

# цвета иконки раскладки и шрифт
XXkb.mainwindow.label.background: #eaeaea
XXkb.mainwindow.label.foreground: black
XXkb.mainwindow.label.font: -misc-*-r-*-13-*

# надписи на иконке
XXkb*label.text.1: En
XXkb*label.text.2: Ru

# тип главного окна
XXkb.mainwindow.type: tray
XXkb.mainwindow.label.enable: yes
# показывать на главном окне раскладку
XXkb.mainwindow.enable: yes
# размер иконки раскладки
XXkb.mainwindow.geometry: 20×20+0+0

# отслеживать окна, найденые после старта программы
XXkb.controls.add_when_start: yes
# отслеживать окна, созданные во время работы программы
XXkb.controls.add_when_create: yes
# при убирании фокуса с окна сбрасывать раскладку на дефолтную
XXkb.controls.focusout: no
# используем тока две раскладки
XXkb.controls.two_state: yes

Я привел тока те настройки, которые были мне необходимы, для остального ман вам в помощь.
После этого необходимо сам xxkb засунуть в автозагрузку. В rc.local вписать его нельзя, тк он должен стартовать после X-ов. Почти в каждом DE есть настройка автозапуска программ, в нем его и вписываем. Рестартуем X-сы и радуемся.

Привязка раскладки клавиатуры к приложениям: 4 комментария

  1. А вообще для xfce тоже есть какая-то своя переключалка клавиатуры, которая может запоминать раскладку для отдельных приложений. (возможно требуется отдельная установка или она появилась только в последних версиях xfce)

  2. скрин
    http://pix.academ.org/img/2009/03/26/9822a5e397b3d47db2fb3c1c4a1f8b54
    а XXkb.mainwindow.label.enable если я правильно понял, вместо графической иконки делает тупо текст на какомнибудь одноцветном фоне, если ее отключить, то придется указывать какие иконки использовать для отображения текущей раскладки, но мня и так устраивает

Добавить комментарий