Altere os layouts de teclado com o i3

4

Eu tenho uma nova versão do i3 4.11 (2015-09-30, branch "4.11") instalada no meu Ubuntu 16.04. Na verdade, preciso usar três layouts de teclado diferentes, por exemplo en , fr e ru , com a possibilidade de alternar entre eles usando um atalho de teclado.

Eu tentei alguns métodos, mas nenhum deles foi completamente satisfatório:

  • Usar ibus-daemon quase funciona, mas não consigo usar atalhos para layouts de alteração.
  • Minha configuração real está configurando setxkbmap quando inicio i3 :

    exec --no-startup-id "setxkbmap -model pc105 -layout fr,us,ru -option grp:alt_shift_toggle"
    

Assim, posso alternar entre os meus layouts, mas às vezes não tenho ideia de qual layout estou realmente em uso porque não há nenhum ícone de bandeja para essa configuração.

Para concluir, minhas necessidades são:

  • É possível alternar layouts pressionando algumas teclas de atalho.

  • Algumas indicações (de preferência, ícone da bandeja) para o layout que estou realmente em uso.

Existe algum trabalho sobre isso? Ou talvez haja algum plugin i3 que realmente faz o trabalho? Algum terceiro software?

    
por Niakrais 06.09.2016 / 14:37

1 resposta

4

Você pode fazer isso com xkblayout-state e i3blocks

Para xkblayout-state :

Eu suponho que você tenha git .

~$ git clone https://github.com/nonpop/xkblayout-state.git
~$ cd xkblayout-state
~$ make

Copie agora xkblayout-state em algum lugar no seu PATH , por exemplo:

~$ 'cp xkblayout-state /usr/local/bin/'

Agora para i3blocks :

sudo apt-get install i3blocks
cp /etc/i3blocks.conf ~/.i3blocks.conf

No seu arquivo i3 config (~ / .config / i3 / config) substitua i3status por 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

E reinicie o i3wm (mod + shift + R), agora você verá que i3blocks apareceu.

Abra seu ~/.i3blocks.conf e adicione algum lugar (por exemplo, logo acima da seção [VOLUME]):

#Language indicator
[language]
#label=LNG
command=xkblayout-state print %s | awk '{print toupper($0)}'
interval=once
signal=1

Novamente, reinicie o i3wm (mod + shift + R), e você verá suas localidades na barra de status, alternando.

Confira xkblayout-state --help , há muitas opções para saídas diferentes.

    
por aring 11.09.2016 / 00:57