====== 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}}