我的问题很简单,是否可以从我自己的gnome扩展名调用另一个gnome扩展名中声明的函数?
答案 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所指出的那样,这是一个非常糟糕的主意,在某个时候我会指望它爆炸。如果您想访问从其扩展名加载的实时类,则可能是您自己,或者必须直接询问作者。