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