从另一个gnome扩展调用一个函数

时间:2020-05-19 22:12:40

标签: gnome-shell gnome-shell-extensions gjs

我的问题很简单,是否可以从我自己的gnome扩展名调用另一个gnome扩展名中声明的函数?

2 个答案:

答案 0 :(得分:2)

是的。您只需要确保其他GNOME Shell扩展将函数存储在扩展可以找到它的位置即可,例如在全局对象上。

(但是,无论如何,请不要这样做。无法确定某人是否将安装特定的扩展程序,这是有原因的,因为扩展程序没有依赖系统。)

答案 1 :(得分:1)

如果使用GNOME 3.36,则可以使用ExtensionManager查找扩展名。

const Main = imports.ui.main;
const ExtensionManager = Main.extensionManager;

// Looking up the extension
let someExtension = ExtensionManager.lookup('some@extension');

// Importing a module
const SomeModule = someExtension.imports.someModule;

但是正如ptomato所指出的那样,这是一个非常糟糕的主意,在某个时候我会指望它爆炸。如果您想访问从其扩展名加载的实时类,则可能是您自己,或者必须直接询问作者。

相关问题