![Gnome 扩展程序提示更改 Meta.keybindings_set_custom_handler。这是什么?如何更改它](https://linux22.com/image/1204103/Gnome%20%E6%89%A9%E5%B1%95%E7%A8%8B%E5%BA%8F%E6%8F%90%E7%A4%BA%E6%9B%B4%E6%94%B9%20Meta.keybindings_set_custom_handler%E3%80%82%E8%BF%99%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%E5%AE%83.png)
在 Ubuntu 切换到 Gnome 后,我安装了workspace-grid
Gnome 扩展,以便拥有像 Unity 中一样的工作区网格。虽然我可以使用ctrl+ alt+ left/right箭头键左右切换,但上下移动更棘手。我需要使用function+ super+ up/down键。必须为同一操作切换按键,这很不方便。此外,在某些应用程序中,例如 Chrome,按function+ super+ up/down键会向下滚动而不是更改工作区。我想将上下快捷键更改为ctrl+ alt+ up/down箭头键。
看着Github 仓库对于扩展,它说:
用户可以通过多种方式更改工作区,此扩展覆盖的方式包括:
- 键绑定(Main.wm.setKeybindingHandler(GNOME 3.2),Meta.keybindings_set_custom_handler(GNOME 3.4))
那么它是什么Meta.keybindings_set_custom_handler
?我该如何设置它?
答案1
Meta.keybindings_set_custom_handler
指的是 gnome3 源代码——这不是通常意义上的“设置”。
它是 javascript 中 gnome-shell 源代码中的一个函数,看这里
setCustomKeybindingHandler: function(name, modes, handler) {
if (Meta.keybindings_set_custom_handler(name, handler))
this.allowKeybinding(name, modes);
},
或在使用中,在此自定义扩展中
function enable() {
Meta.keybindings_set_custom_handler('switch-group', _doSwitchDesktop);
Meta.keybindings_set_custom_handler('switch-group-backward', _doSwitchDesktop);
}
function disable() {
Meta.keybindings_set_custom_handler('switch-group', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-group-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
}
如果您编写自己的扩展或重写现有的扩展,您可以“放“它——如果你愿意的话。