[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

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).

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 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 sycamorex
  • Contribuições por Anonymous

 pt-br:howtos:window_managers:keyboard_layout_in_i3 ()