Gostaria de compartilhar uma solução que encontrei para o problema de letras acentuadas sumindo no começo de frases no Whatsapp Web, utilizando Firefox. Pela minha pesquisa, parece que é algo que não ocorre em sistemas com o Gnome e que só acontece com o Firefox (Utilizo KDE 6 e não cheguei a testar o WhatsApp Web em outro navegador).
A solução eu encontrei numa discussão no site bug report do KDE, pelo usuário Johann Höchtl. Quem tiver interesse, recomendo dar uma lida na discussão, pois muita coisa foi discutida.
A solução proposta pelo usuário foi inserir no arquivo /etc/environment as seguintes linhas:
Eu realizei a inserção, reiniciei o computador, abri o Firefox e o Desktop crashou (). Consegui reiniciar o computador, abri o arquivo novamente e deixei apenas a seguinte linha nele GTK_IM_MODULE=ibus. Reiniciei o computador, abri o Firefox e as letras acentuadas no início do input não eram mais deletadas no WhatsApp Web.
Aqui vai meu achismo: a linha GTK_IM_MODULE=ibus resolveu porque vai afetar apenas aplicativos que utilizam GTK, que é o caso do Firefox.
Talvez seja solução digna de ser chamada de gambiarra (ou não), mas deu certo.
Enquanto eu escrevia o post, eu continuei pesquisando sobre métodos de entrada e por algum motivo meu sistema só crasha quando tem a linha INPUT_METHOD=ibus no arquivo /etc/environment.
Obrigado! Coloquei apenas nas variáveis de ambiente do próprio Zen Browser (baseado no Firefox) o GTK_IM_MODULE=ibus, funcionou bacana. Já estava me dando nos nervos esse bug no WhatsApp!
Pensava que esse problema era exclusivo do WhatsApp Web rodando no Firefox. Pelo menos aqui só ocorre nessa situação. No Chrome funciona perfeitamente.
Aqui o problema acontece no Slackware, Debian e Opensuse. As distros que tenho usado nos últimos anos.
Realmente funcionou. Pra quem cair de para quedas aqui, é possível setar facilmente a variável de ambiente no lançador do KDE Plasma usando o editor de menu:
Impressionante como eu demorei tanto tempo pra pesquisar no google e achar o tópico aqui com a solução, embora seja completamente “mágica” sobre o porquê de funcionar.
Vamos lá! Estudei algumas horas sobre o assunto e tenho informações importantes.
No Linux é claro que vão existir vários métodos de entrada para as interfaces gráficas. As mais usadas são:
xim: a mais antiga, que vem incorporada no X11. Suporte pior para línguas não ocidentais, mas bastante leve.
ibus: mais recente, padrão no Gnome. Possuem melhor suporte para outras línguas e também a mais “pesada” em termos de pacotes e dependências.
fcitx: recente, com bom suporte a diversas línguas e intermediária em relação ao “peso”.
Não obstante, temos ainda que se comportam diferente se o computador roda X11 ou Wayland.
X11: Padrão para o xim, mas pode ser configurado para ser usado outros conforme a aplicação.
Wayland: Deixa a cargo do gerenciador de janelas essa tarefa.
Mas lembrem-se que há aplicações que usam motor GTK (geralmente no Gnome) e outra que usam Qt (no Kde Plasma).
Wayland: uma configuração já serve para ambos os motores.
X11: variáveis de ambiente selecionam o modo de entrada
Com esse panorama todo na cabeça, comecei uma epopéia para manter um sistema de entrada que fosse o mesmo tanto no X11 (gtk e qt) quanto no Wayland. O objetivo era acabar com o problema do web whatsapp e também instalar o teclado em chinês que tinha tentado no passado, mas sem sucesso.
Tentei primeiramente com o ibus, mas estranhamente não funcionou no Wayland. Resolvi tentar o fcitx e felizmente consegui configurá-lo! 你好!
Pacotes instalados:
app-i18n/fcitx-configtool (já puxou as depencieas do fcitx e fcitx-qt)
app-i18n/fcitx-gtk
app-i18n/fcitx-chinese-addons
A configuração no X11 ficou em adicionar as seguintes linhas no arquivo ~/.xinitrc
Sim, de algum modo os aplicativos gtk precisavam da variável indicar para usar o xim que eles passavam a usar o fcitx!!!
Já no Wayland, foi só selecionar a entrada de teclado virtual para Fcitx nas configurações do KDE Plasma.
Em ambos os casos (X11 e Wayland) há uma nova opção de configuração no Plasma para os detalhes de como configurar o fcitx, onde deve-se setar os idiomas desejados.
Agora então está explicado e entendido como funciona!