在 GNOME 3 中更改语言时如何不显示键盘布局选择器弹出窗口

nik*_*sal 12 keyboard-layout shortcut-keys language gnome-shell

由于我安装了 17.10,当使用指定的键盘快捷键切换语言时,我得到了这个切换器“窗口”,它阻止我打字几秒钟。是的,在大量切换语言时,几秒钟是很长的时间。

巨大的吸引注意力的语言切换指示器

这在 X11 和 Wayland 中都会发生,但当我通过单击顶部栏上的 lang 指示器切换语言时不会发生(不会出现阻塞窗口)。有没有办法告诉这个窗口“请走开”?

Dmi*_*kov 5

可以通过使用gdbus call( src ) 的JS 接口查询 gnome-shell 。

以下脚本将在两个配置的输入源之间交替。如果您有更多,则易于修改。

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

Run Code Online (Sandbox Code Playgroud)

使其可执行,chmod a+x </path/to/script>然后您可以将其绑定到自定义快捷键:

打开设置 -> 设备 -> 键盘,然后单击底部的“ + ”选择按钮将脚本分配给某个快捷方式

(对于 Gnome < 3.x:设置 -> 设备 -> 键盘 -> 自定义快捷方式)。


ank*_*tis 5

我构建了Quick Lang Switch Gnome-shell 扩展,正是为了避免切换器弹出窗口 - 现在切换语言会立即发生。另外,它不需要自定义快捷方式(常规快捷方式会改变行为),因此登录屏幕不受影响。

免责声明:我是 Quick Lang Switch 的开发者......


pom*_*sky 3

如果您按住一段时间,就会出现叠加层。快速按下并释放应该会更改布局而不显示覆盖层。

作为解决方法,您可以设置另一个键盘快捷键来切换布局,请参阅以下内容以供参考:Ubuntu 17.10 无法将输入切换快捷键更改为 alt+shift

  • 我以尽可能快的速度按下按键,窗口仍然显示(这是可以的),并且它窃取了键盘焦点(这是*不*好的)。 (3认同)
  • 设置另一个快捷键会迫使用户改变常用按键,破坏习惯,还会破坏与其他系统的兼容性。我宁愿回到窗户。我不认为任何接近“设计决策 - 接受或离开”的东西都是有效的解决方案...... (2认同)