Como evitar que o gnome altere a ordem de entrada do idioma ao mudar de idioma?

Como evitar que o gnome altere a ordem de entrada do idioma ao mudar de idioma?

Aqui estão minhas configurações de entrada (observe a ordem dos idiomas na lista, que é minha preferência).

insira a descrição da imagem aqui

Agora, inicialmente, quando invoco o atalho para alternar a entrada, a lista fica assim (conforme esperado):

insira a descrição da imagem aqui

Agora eu seleciono a entrada coreana (segundo item) e invoco o atalho do switch novamente. Veja como a lista se parece:

insira a descrição da imagem aqui

Como você pode ver, a ordem mudou.
E agora, se eu selecionar outra entrada e tentar mudar novamente, a lista muda completamente.

Existe uma maneira de evitar que o gnome reorganize a lista o tempo todo?

Acho que vale a pena mencionar que meu trabalho é sobre idiomas e eu troco de idioma o tempo todo (pesquisando um caractere chinês, voltando para o teclado inglês, voltando para um dicionário coreano para descobrir uma definição, etc...), descobri que o cérebro lembra mais facilmente a localização dos idiomas na lista do que o que realmente está escrito, e é assim que o Windows faz.
Gostaria que houvesse uma maneira de consertar isso, caso contrário, teria que relatar isso como um problema no site do gnome.

Desde já, obrigado.

Responder1

Desde então, não há extensão gnome-shell no momento para a mudança estática do layout do teclado usando os atalhos padrão Super+Space e Shift+Super+Space.

e os comentários sobre este linkOrdem estática de troca de layout de teclado no Ubuntu 17.10 e posterior com GNOME 3do OP

o problema com a solução proposta no link (Alt+Shift) é que falta feedback visual e não pode usar atalho para anterior (como win+shift+espaço para voltar uma entrada). Então não é realmente satisfatório.

Eu poderia alcançar pelo menos um ponto em dois (Feedback visual e voltar ao layout anterior) com a solução alternativa abaixo.

Gambiarra

SO: Ubuntu 19.10

Referência:Manipule o atalho padrão Super+Espaço para mudar para a próxima fonte de entrada sem representação gráfica

Crie dois scripts com o conteúdo abaixo, chamei-os de "SuSpace.sh" e "ShSuSpace.sh"

SuSpace.sh

#!/bin/bash

totalLang=$(gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager()._mruSources.length" | grep -oP "(?<=').*?(?=')")

currentLang=$(gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().currentSource.index" | grep -oP "(?<=').*?(?=')")

declare -i math=$currentLang+1

if [ "$math" -lt "$totalLang" ]; then
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources["$currentLang+1"].activate()"
else
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"
fi

ShSuSpace.sh

#!/bin/bash

totalLang=$(gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager()._mruSources.length" | grep -oP "(?<=').*?(?=')")

currentLang=$(gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().currentSource.index" | grep -oP "(?<=').*?(?=')")

declare -i math=$currentLang-1

if [ "$math" -eq -1 ]; then
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources["$totalLang-1"].activate()"
else
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources["$currentLang-1"].activate()"
fi

você pode criar atalhos personalizados para esses dois scripts conforme desejar.

insira a descrição da imagem aqui

informação relacionada