Eu tenho dois layouts de teclado diferentes e alterno entre eles com Ctrl + Shift . E quero exibir meu layout atual com i3blocks. Agora eu tenho um script super pequeno de linha única que retorna o layout atual com o seguinte comando:
xkb-switch
Mas como posso atualizar informações ao alternar entre teclados?
O que eu tentei:
Tentativa nº 1
Eu consegui atualizar informações com sucesso definindo em i3blocks.conf :
[language]
interval=1
... o que força meus blocos a executar o script a cada milissegundo. Funciona bem, mas não tenho certeza se é a maneira correta de fazer isso, especialmente no laptop.
Tentativa nº 2
Eu também tentei enviar um sinal para o bloco ao pressionar Ctrl + Shift com algo parecido com isso no meu i3 / config :
bindsym --release Control+Shift exec --no-startup-id pkill -RTMIN+8 i3blocks
E com as seguintes linhas em i3blocks.conf :
[language]
interval=once
signal=8
Mas eu não consegui fazer funcionar. Se eu alterar as chaves Control+Shift
para qualquer outra chave (por exemplo, $mod+Shift+z
ou CapsLock
ou Control+1
), tudo funciona bem.
(Quero dizer, ele envia um sinal e atualiza os blocos. Se eu alternar o teclado com Ctrl + Shift , pressione Mod + Shift + z ou CapsLock ou Ctrl + 1 ele enviará um sinal, atualizará i3blocks e o bloco de idiomas irá mudar).
Outro
Eu vi postar. Também é sobre mudar os layouts. Mas eu não consegui relacionar isso ao meu problema. Eu não sou o melhor bash-programador e não entendo o que está acontecendo neste script kbdd. Tanto quanto eu entendo, não há nada sobre o meu problema.