nik*_*sal 12 keyboard-layout shortcut-keys language gnome-shell
由于我安装了 17.10,当使用指定的键盘快捷键切换语言时,我得到了这个切换器“窗口”,它阻止我打字几秒钟。是的,在大量切换语言时,几秒钟是很长的时间。
这在 X11 和 Wayland 中都会发生,但当我通过单击顶部栏上的 lang 指示器切换语言时不会发生(不会出现阻塞窗口)。有没有办法告诉这个窗口“请走开”?
可以通过使用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:设置 -> 设备 -> 键盘 -> 自定义快捷方式)。
我构建了Quick Lang Switch Gnome-shell 扩展,正是为了避免切换器弹出窗口 - 现在切换语言会立即发生。另外,它不需要自定义快捷方式(常规快捷方式会改变行为),因此登录屏幕不受影响。
免责声明:我是 Quick Lang Switch 的开发者......
如果您按住一段时间,就会出现叠加层。快速按下并释放应该会更改布局而不显示覆盖层。
作为解决方法,您可以设置另一个键盘快捷键来切换布局,请参阅以下内容以供参考:Ubuntu 17.10 无法将输入切换快捷键更改为 alt+shift。