如何在gnome-shell扩展中创建全局键绑定

时间:2017-09-29 18:12:34

标签: key-bindings gnome gnome-shell gnome-shell-extensions

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

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

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

1 个答案:

答案 0 :(得分:0)

这里有一个非常完整的答案:How to handle keyboard events in gnome shell extensions?

您可能会发现最简单的方法是使用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})