У меня есть новая i3 версия 4.11 (30.09.2015, ответвление "4.11") установленный по моей Ubuntu 16.04. На самом деле я должен использовать 3 различных раскладки клавиатуры, например, en
, fr
и ru
с возможностью переключиться между ними при помощи некоторого сочетания клавиш.
Я попробовал некоторые методы, но ни один не был абсолютно удовлетворительным:
ibus-daemon
почти работы, но я не могу использовать ярлыки для разметок изменения.Моя фактическая установка настраивает setxkbmap
когда я запускаю i3
:
exec --no-startup-id "setxkbmap -model pc105 -layout fr,us,ru -option grp:alt_shift_toggle"
Таким образом, я могу переключиться между своими разметками, но иногда я понятия не имею, какое расположение я на самом деле используюсь, потому что нет никакого значка панели задач для этого в этой установке.
Для заключения мои потребности:
Смогите переключить разметки путем нажатия некоторых горячих клавиш.
Некоторые признаки (предпочтительно, значок панели задач) для расположения я на самом деле используюсь.
Есть ли некоторая работа вокруг об этом? Или возможно существует некоторый i3 плагин tha t, на самом деле делает задание? Некоторое третье программное обеспечение?
xkblayout-state
и i3blocks
xkblayout-state
:Я предполагаю, что Вы имеете git
.
~$ git clone https://github.com/nonpop/xkblayout-state.git
~$ cd xkblayout-state
~$ make
Теперь копия скомпилирована xkblayout-state
где-нибудь в Вашем PATH
, например:
~$ `cp xkblayout-state /usr/local/bin/`
i3blocks
:sudo apt-get install i3blocks
cp /etc/i3blocks.conf ~/.i3blocks.conf
В Вашем i3
файл конфигурации (~/.config/i3/config) замена i3status
с i3blocks
,
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3blocks
tray_output primary
}
# in case of layout change event - send signal to i3blocks
bindsym ISO_Next_Group exec pkill -RTMIN+1 i3blocks
И перезапуск i3wm
(mod+shift+R), необходимо теперь видеть это i3blocks
появившийся.
Откройте Ваш ~/.i3blocks.conf
и добавьте где-нибудь (например, прямо выше раздела [VOLUME]):
#Language indicator
[language]
#label=LNG
command=xkblayout-state print %s | awk '{print toupper($0)}'
interval=once
signal=1
Снова, перезапустите i3wm (mod+shift+R), и необходимо видеть локали в строке состояния, переключаясь.
Выезд xkblayout-state --help
, существует много опций для другого вывода.
Выполните ответ @aring:
Вы можете сделать это с помощью xkblayout-state и i3blocks
Переключение между двумя языками с помощью xkblayout-state
, поместите это в свой ~/.config/i3/config
file:
bindsym $mod+b exec xkblayout-state set $(( $(xkblayout-state print %c) ^ 1 ))