从另一个 gnome 扩展调用函数

Call a function from another gnome extension

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

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

(但是,无论如何请不要这样做。是否有人会安装特定的扩展是不可预测的,并且没有扩展的依赖系统是有原因的。)

如果使用 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 所指出的,这是一个非常糟糕的主意,我希望它在某个时候会爆炸。如果您想访问从他们的扩展程序加载的实时 类,您可能需要自己或直接询问作者。