Jak NIE wyświetlać wyskakującego okna wyboru układu klawiatury podczas zmiany języka w GNOME 3


12

Odkąd zainstalowałem 17.10, przełączając język za pomocą przypisanego skrótu klawiaturowego, otrzymuję to „okno” przełącznika, które utrudnia mi pisanie przez kilka sekund. I tak, kilka sekund to ogromna ilość czasu, kiedy często zmieniasz języki.

ogromny, przyciągający uwagę wskaźnik zmiany języka

Dzieje się tak zarówno w X11, jak i Wayland, ale tak się nie dzieje (okno przeszkodowe nie pojawi się), gdy zmieniam język, klikając wskaźnik języka na górnym pasku. Czy jest jakiś sposób, aby powiedzieć temu oknu „proszę odejdź”?

Odpowiedzi:


4

Jest to możliwe poprzez wysłanie zapytania do gnome-shell poprzez jego interfejs JS z gdbus call( src ).

Poniższy skrypt będzie na przemian między dwoma skonfigurowanymi źródłami wejściowymi. Łatwy do modyfikacji, jeśli masz więcej.

#!/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

Ustaw go jako wykonywalny, chmod a+x </path/to/script>a następnie możesz powiązać go z niestandardowym klawiszem skrótu:

Otwórz Ustawienia -> Urządzenia -> Klawiatura i kliknij przycisk wyboru „ + ” u dołu, aby przypisać skrypt do jakiegoś skrótu

(Dla Gnome <3.x: Ustawienia -> Urządzenia -> Klawiatura -> Niestandardowe skróty ).


1
Dziękujemy, skrypt działa bezbłędnie w najnowszym SID + Gnome-3.
ankostis

3

Nakładka pojawi się, jeśli naciśniesz i przytrzymasz nieco dłużej. Szybkie naciśnięcie i zwolnienie powinno zmienić układ bez pokazywania nakładki.

Aby obejść ten problem, możesz ustawić inny skrót klawiaturowy do przełączania układów, zobacz to w celach informacyjnych: Ubuntu 17.10 nie może zmienić skrótu przełączania wejścia na alt + shift .


Tak, mógłbym zrobić to, co chciałem, przypisując nowy skrót, tak jak zaproponowałeś. Przy moim poprzednim wyborze (który naciskałem F2 / F3) to okno (nakładka, jak to nazywasz) pojawiłoby się, nawet gdybym przez chwilę naciskał klawisze. Dziękuję Ci.
nikosal

Zawsze przypisywałem przełączanie języka na klawisze F2 / F3 zamiast Alt + Shift, oczywiście dlatego, że wolę głaskanie „jednym klawiszem” zamiast kombinacji. Kiedy zaktualizowałem do wersji 17.10, przełączanie F2 / F3 dawało mi tę nakładkę. Kiedy przypisałem nowy klawisz (ScrLk), nakładka się nie pojawi, więc jestem mniej więcej w porządku (chociaż ScrLk jest daleko po prawej stronie i nie jest wygodny do szybkiego pisania).
nikosal

Naciskam klawisz tak szybko, jak to tylko możliwe, a okno wciąż się wyświetla (co jest OK) i kradnie fokus klawiatury (co nie jest OK).
Flimm

@Flimm Co na temat alternatywnego skrótu (np. Alt + shift)?
pomsky

1
Ustawienie innego skrótu zmusza użytkowników do zmiany wspólnych kluczy, zerwania z nawykami, a także zerwania z kompatybilnością z innymi systemami. Raczej wracam do okien. Nie
uważałbym
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.