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

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

自从我安装了 17.10 后,当使用指定的键盘快捷键切换语言时,我会看到这个切换器“窗口”,它会阻止我打字几秒钟。是的,当频繁切换语言时,几秒钟的时间是相当长的。

巨大的引人注目的语言切换指示器

这种情况在 X11 和 Wayland 中都会发生,但当我通过单击顶部栏上的语言指示器切换语言时不会发生这种情况(不会出现阻塞窗口)。有什么方法可以告诉这个窗口“请离开”?

答案1

我已经建造了快速语言切换Gnome-shell 扩展正是用来避免切换器弹出窗口的 - 现在切换语言是即时发生的。此外,它不需要自定义快捷方式(常规的会改变行为),所以登录屏幕不受影响。

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

答案2

如果您长按并按住,则会出现叠加层。快速按下并释放应会更改布局,但不显示叠加层。

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

答案3

可以通过 gnome-shell 的 JS 接口来查询它gdbus call源码)。

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

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

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

打开设置 -> 设备 -> 键盘并点击“+' 底部的选择按钮将脚本分配给某个快捷方式

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

答案4

我知道这是一个非常迟来的答案,可能没什么用。但我想和你们分享一下。我使用的是 Kubuntu 22.04,我选择了 Wayland。我在这里得到了同样的结果,但我通过右键单击任务栏中的语言图标禁用了它。配置 > 配置布局。取消选中“布局更改时显示 OSD”选项。这样您就可以开始了。无需更改快捷方式,也无需编写任何脚本。在此处输入图片描述

我希望这有帮助。

相关内容