Tabela de conteúdos
Layout do teclado no i3
Gerenciador de janelas i3
O 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 SlackBuilds. Instale também o 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).
~/.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 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