- PVSM.RU - https://www.pvsm.ru -
Каждый пользователь линукс ходя бы раз пробовал перейти с DE на WM. И как это обычно бывает, возникает вопрос какой программой контролировать текущую раскладку, а главное как привязать её к приложениям? Этим вопросом я и занялся написав свою программу — gxkb.
Дело в том, что в отличии от индикаторов раскладки в KDE и Xfce все другие приложения позволяют лишь два режима работы — глобальная раскладка и раскладка с привязкой к окнам. Мне же, неудобно работать в многооконных приложениях с привязкой к окнам, так как получается что у окон одного приложения каждая своя раскладка. Другой пример, при сворачивании программы в трей окно программы фактически уничтожается и при вызове из трея создается по новой вместе с тем устанавливая окну раскладку по-умолчанию, тогда как я ожидал выставленную до сворачивания в трей раскладку. Именно эту проблему решает привязка раскладки к приложению.
И так, теперь когда мы разобрались в причинах создания программы, перейдем к её описанию:
Для компилирования программы нужно предварительно установить libgtk2.0-dev libwnck-dev libxklavier-dev
Скачать и распаковать архив по ссылке: sourceforge.net/p/gxkb [1]
И выполнить непосредственно сборку и установку из каталога, куда был распакован архив:
./configure && make && sudo make install
После этого запускаем программу командой gxkb и, если не устраивают настройки по умолчанию, закрываем её для того, что бы программа создала файл настроек по пути ~/.config/gxkb.cfg, который можно отредактировать в любом текстовом редакторе. Рассмотрим пример файла настроек по-умолчанию:
[xkb config]
group_policy=2
default_group=0
never_modify_config=false
model=pc105
layouts=us,ru
variants=,
toggle_option=grp:alt_shift_toggle,grp_led:scroll,terminate:ctrl_alt_bksp
compose_key_position=
Рассмотрим каждый параметр:
group_policy — параметр отвечающий за привязку раскладки. Может принимать значения: 0 — глобальная раскладка, 1 — привязка раскладки к окнам, 2 — привязка раскладки к приложениям
default_group — раскладка по умолчанию для новых окон. Отсчет начинается с нуля, потому 1 раскладка будет нулевой, 2-я первой и т.д.
never_modify_config — gxkb не будет пытаться заменить настройки X11 раскладок и их переключение, а так же не будет при выходе из программы переписывать свой файл настроек.
model — модель клавиатуры.
layouts — раскладки клавиатуры
variants — варианты раскладок
toggle_option — параметры переключения раскладок
compose_key_position — назначение клавиши Compose
Более подробно про возможные значения для каждого параметра можно прочитать в man xkeyboard-config
Известные проблемы:
Проблема: gnome2/gnome3,unity,e17, (возможно и kde3/kde4) — не корректно меняется раскладка при переключении окон
Решение: нужно в настройках DE найти управление раскладками системы и отключить функции наследования раскладки от прошлого окна и функцию разделение раскладки по окнам.
На этом все, надеюсь программа окажется полезной не только мне.
Автор: deathadmin
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/30358
Ссылки в тексте:
[1] sourceforge.net/p/gxkb: https://sourceforge.net/p/gxkb
[2] Источник: http://habrahabr.ru/post/174203/
Нажмите здесь для печати.