====== Layout do teclado no i3 ======
====Gerenciador de janelas i3====
O [[howtos:window_managers:i3wm|i3wm]] não vem com o Slackware por padrão. Se você deseja instalar este gerenciador de janelas em estilo "mosaico" e extremamente configurável, visite [[http://slackbuilds.org/repository/14.2desktop/i3/|SlackBuilds]]. Instale também o [[http://slackbuilds.org/repository/14.2/desktop/i3status/|i3status]], que permitirá que você exiba todos os tipos de informações úteis em um painel.
==== Selecionando um layout de teclado====
O i3 não vem com nenhum mecanismo de configuração de teclado embutido. O comando ''setxkbmap'', no entanto, faz o trabalho bem. Se você configurou o layout do teclado em todo o sistema e não precisa alternar entre os layouts, não precisa fazer nada. Se desejar definir o layout apenas para i3, você pode editar seu arquivo ''.xinitrc ''. Se você muda um ambiente gráfico frequentemente e não quer que o mapa de teclado seja sobrescrito, você precisa modificar ''/etc/X11/xinit/xinitrc.i3 ''.
# nano /etc/X11/xinit/xinitrc.i3
Pouco antes da seção ''Start i3'', você pode especificar o mapa de teclado desejado (por exemplo, gb):
setxkbmap gb
Salve o arquivo e execute (como um usuário padrão) xwmconfig e escolha i3 para copiar o arquivo ''xinitrc '' para seu diretório inicial. Se você estiver no X, pode ser necessário reiniciá-lo.
==== Mudando o layout do teclado ====
Se você precisar alternar entre layouts diferentes, poderá configurar alguns atalhos de teclado para executar essas funções.
1. Abra o arquivo de configuração i3
nano ~/.i3/config
2. Adicione o seguinte (é apenas um exemplo):
Atribua ''Mod4'' à tecla da Microsoft (eu uso muito a tecla da Microsoft para evitar conflitos com as combinações de teclas padrão i3):
set $ms Mod4
bindsym $ms+d exec setxkbmap de
bindsym $ms+g exec setxkbmap gb
Agora MS+d e MS+g me permitem alternar entre os layouts UK (inglês britânico) a GE (alemão).
Se você costuma alternar entre dois layouts de teclado e não precisa exibir o layout atual na barra de status, também pode colocar o seguinte código em seu arquivo ''~/.i3 /config'':
setxkbmap -layout de,gb
setxkbmap -option 'grp:ctrl_alt_toggle'
Isso permitirá que você alterne entre os dois layouts usando Ctrl + Alt .
====Exibindo o Layout Ativo no Painel====
O i3status vem com várias funções integradas. Infelizmente, o layout atual do teclado não é um deles. Por esse motivo, você precisa escrever um pequeno script para exibir o layout no painel. A invocação i3status padrão é a seguinte:
bar {
status_command i3status
}
Aqui, toda a funcionalidade embutida é configurada em ~/.i3status.conf. Queremos adicionar mais algumas funcionalidades e alterando a invocação para:
bar {
status_command /path/to/your/i3script.sh
}
O conteúdo do arquivo i3script.sh
#!/bin/bash
# shell scipt to prepend i3status with more stuff
i3status --config ~/.i3status.conf | while :
do
read line
LG=$(setxkbmap -query | awk '/layout/{print $2}')
echo "LG: $LG | $line" || exit 1
done
O exemplo acima exibirá o layout do teclado atual antes das funções padrão do i3status. Obviamente, você pode adicionar muito mais a [[howtos: window_managers:i3wm#i3status|i3status]].
=== Usando o formato de saída JSON (cores) ===
O método acima usa o modo de saída mais simples (somente texto). Embora seja mais fácil de usar, não tem suporte para cores. Para isso, você precisará do JSON.
Adicione a seguinte propriedade em seu ''.i3status.conf''
general {
output_format = i3bar
}
E substitua seu ''i3script.sh '' pelo código abaixo. Ele exibe seu idioma padrão em verde (no exemplo, ''br'') e qualquer outro idioma em vermelho.
#!/bin/bash
i3status --config ~/.i3status.conf | while :
do
read line
LG=$(setxkbmap -query | awk '/layout/{print $2}')
if [ $LG == "br" ]
then
dat="[{ \"full_text\": \"LANG: $LG\", \"color\":\"#009E00\" },"
else
dat="[{ \"full_text\": \"LANG: $LG\", \"color\":\"#C60101\" },"
fi
echo "${line/[/$dat}" || exit 1
done
===== Fontes =====
* Originalmente escrito por [[wiki:user:sycamorex]]
* Contribuições por Anonymous
{{tag>howtos hardware keyboard settings i3 author_sycamorex translator_carriunix}}