Comment ne PAS afficher la fenêtre contextuelle du sélecteur de disposition du clavier lors du changement de langue dans GNOME 3

12

Depuis que j'ai installé 17.10, lorsque je change de langue avec le raccourci clavier attribué, j'obtiens cette "fenêtre" de commutateur qui m'empêche de taper pendant quelques secondes. Et oui, quelques secondes, c'est énormément de temps pour beaucoup changer de langue.

énorme indicateur de changement de langue qui capte l'attention

Cela se produit à la fois dans X11 et Wayland mais ne se produit pas (la fenêtre obstructive n'apparaîtra pas) lorsque je change de langue en cliquant sur l'indicateur de langue dans la barre supérieure. Existe-t-il un moyen de dire à cette fenêtre "veuillez vous en aller"?

nikosal
la source

Réponses:

4

C'est possible en interrogeant gnome-shell via son interface JS avec gdbus call( src ).

Le script suivant alternera entre deux sources d'entrée configurées. Facile à modifier si vous en avez plus.

#!/usr/bin/env bash

cur_idx=$(
        gdbus call \
                --session \
                --dest org.gnome.Shell \
                --object-path /org/gnome/Shell \
                --method org.gnome.Shell.Eval \
                "imports
                        .ui.status
                        .keyboard
                        .getInputSourceManager()
                        .currentSource
                        .index" |
        cut -d"'" -f2
)

next_idx=$(( 1 - $cur_idx ))

gdbus call \
        --session \
        --dest org.gnome.Shell \
        --object-path /org/gnome/Shell \
        --method org.gnome.Shell.Eval \
        "imports
                .ui
                .status
                .keyboard
                .getInputSourceManager()
                .inputSources[$next_idx]
                .activate()" \
        &> /dev/null

Rendez-le exécutable avec chmod a+x </path/to/script>et vous pouvez ensuite le lier à une touche de raccourci personnalisée:

Ouvrez Paramètres -> Périphériques -> Clavier et cliquez sur le bouton de choix ' + ' en bas pour attribuer le script à un raccourci

(Pour Gnome <3.x: Paramètres -> Périphériques -> Clavier -> Raccourcis personnalisés ).

Dmitry Zotikov
la source
1
Merci, le script fonctionne parfaitement dans SID + dernier Gnome-3.
ankostis
3

La superposition apparaît si vous appuyez et maintenez un peu plus longtemps. Une pression et une libération rapides devraient changer la disposition sans montrer la superposition.

Comme solution de contournement, vous pouvez définir un autre raccourci clavier pour changer les dispositions, voir ceci pour référence: Ubuntu 17.10 ne peut pas changer le raccourci de commutation d'entrée en alt + shift .

pomsky
la source
Oui, je pourrais faire ce que je voulais, en assignant un nouveau raccourci comme vous l'avez proposé. Avec ma sélection précédente (qui appuyait sur F2 / F3), cette fenêtre (la superposition, comme vous l'appelez) apparaîtrait même si j'appuyais sur les touches pendant un bref instant. Je vous remercie.
nikosal
J'avais toujours réaffecté le passage de lang aux touches F2 / F3 au lieu d'alt + shift, évidemment parce que je préfère caresser "une touche" au lieu d'une combinaison. Lorsque je suis passé à 17.10, la commutation F2 / F3 me donnait cette superposition. Lorsque j'ai assigné une nouvelle touche (ScrLk), la superposition n'apparaîtra pas, donc je suis plus ou moins ok (bien que ScrLk soit bien à droite et pas à l'aise pour la saisie rapide).
nikosal
J'appuie sur la touche aussi rapidement que possible, et la fenêtre s'affiche toujours (ce qui est OK), et elle dérobe le focus du clavier (ce qui n'est pas OK).
Flimm
@Flimm Qu'en est-il de la suggestion de raccourci alternatif (par exemple alt + shift)?
pomsky
1
La définition d'un autre raccourci oblige les utilisateurs à modifier les clés communes, à rompre les habitudes et à rompre la compatibilité avec d'autres systèmes. Je reviens plutôt aux fenêtres. Je ne considérerais rien de ce qui se rapproche de la "décision de conception - à prendre ou à enlever" comme une solution valable ...
user1656671