gnome-shell 3.34 缺失 ExtensionUtils.extension 属性
gnome-shell 3.34 missing ExtensionUtils.extension property
我已经为 gnome3.30-3.32
编写了一个 GNOME shell 扩展,使用:
const ExtensionUtils = imports.misc.extensionUtils;
...
ExtensionSystem.disableExtension(ExtensionUtils.extensions['extension-uuid'].uuid);
更新到3.34版本,ExtensionUtils
没有提供'extension'
属性,不知道找文档
我该如何解决这个问题?
您正在寻找的代码,即已加载扩展的映射,也是 ExtensionSystem
模块的一部分,而 ExtensionUtils
模块主要是 GSettings 和 Gettext 等扩展作者的实用程序帮手。
您要查找的函数是 3.34+ 中 class ExtensionManager
的一部分。您可以从 Main
导入中获取 ExtensionManager
实例 :
// >= 3.34
const Main = imports.ui.main;
const ExtensionManager = Main.extensionManager;
ExtensionManager.disableExtension(uuid);
// <= 3.32
const ExtensionSystem = imports.misc.extensionSystem;
ExtensionSystem.disableExtension(uuid);
// Handling both versions
const Config = imports.misc.config;
if (Config.PACKAGE_VERSION.split('.')[1] >= 34) {
let manager = imports.ui.main.extensionManager;
manager.disableExtension(uuid);
} else {
let extSystem = imports.misc.extensionSystem;
extSystem.disableExtension(uuid);
}
来源:
- https://gitlab.gnome.org/GNOME/gnome-shell/blob/master/js/misc/extensionUtils.js
- https://gitlab.gnome.org/GNOME/gnome-shell/blob/master/js/ui/extensionSystem.js
您可以使用 GitLab 页面左侧的分支 select 或 select 版本,或右侧的历史记录按钮来查看给定文件的更改列表。
我已经为 gnome3.30-3.32
编写了一个 GNOME shell 扩展,使用:
const ExtensionUtils = imports.misc.extensionUtils;
...
ExtensionSystem.disableExtension(ExtensionUtils.extensions['extension-uuid'].uuid);
更新到3.34版本,ExtensionUtils
没有提供'extension'
属性,不知道找文档
我该如何解决这个问题?
您正在寻找的代码,即已加载扩展的映射,也是 ExtensionSystem
模块的一部分,而 ExtensionUtils
模块主要是 GSettings 和 Gettext 等扩展作者的实用程序帮手。
您要查找的函数是 3.34+ 中 class ExtensionManager
的一部分。您可以从 Main
导入中获取 ExtensionManager
实例 :
// >= 3.34
const Main = imports.ui.main;
const ExtensionManager = Main.extensionManager;
ExtensionManager.disableExtension(uuid);
// <= 3.32
const ExtensionSystem = imports.misc.extensionSystem;
ExtensionSystem.disableExtension(uuid);
// Handling both versions
const Config = imports.misc.config;
if (Config.PACKAGE_VERSION.split('.')[1] >= 34) {
let manager = imports.ui.main.extensionManager;
manager.disableExtension(uuid);
} else {
let extSystem = imports.misc.extensionSystem;
extSystem.disableExtension(uuid);
}
来源:
- https://gitlab.gnome.org/GNOME/gnome-shell/blob/master/js/misc/extensionUtils.js
- https://gitlab.gnome.org/GNOME/gnome-shell/blob/master/js/ui/extensionSystem.js
您可以使用 GitLab 页面左侧的分支 select 或 select 版本,或右侧的历史记录按钮来查看给定文件的更改列表。