1

我正在运行 Ubuntu Gnome,gnome shell 版本 3.24.2。我正在尝试创建一个 gnome shell 扩展,并且正在使用 Javascript。

在我的扩展程序和 Javascript 中,如何创建在 Gnome 中的任何位置都可以识别的全局键绑定?我想将一个功能绑定到该键绑定,以便当用户按下组合键时,执行所述功能。

几乎没有关于 gnome-shell 扩展开发的文档。所以在这里问是我唯一的选择。请不要让我参考以下 stackoverflow 问题,因为它的答案适用于 Gnome 3.22,我真诚地希望有一种更简单的方法来创建键绑定:Gnome Shell Extension Key Binding

4

1 回答 1

1

这里有一个非常完整的答案:如何在 gnome shell 扩展中处理键盘事件?

您可能会发现最简单的方法是使用 Gnome Shell 的 DBus 接口,但处理快捷方式冲突和处理信号回调是不可避免的:

总线名称:org.gnome.Shell -> 路径:/org/gnome/Shell -> 接口:org.gnome.Shell

相关方法:

GrabAccelerator(String accelerator, UInt32 flags) -> (UInt32 action) UngrabAccelerator(UInt32 action) -> (Boolean success)

信号:

AcceleratorActivate(UInt32, Dict of {String, Variant})

于 2017-09-29T23:17:20.567 回答