[英]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'
属性,我不知道如何找到有关它的文档。
我该如何解决这个问题?
您正在寻找的代码,加载扩展的 map,也是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);
}
资料来源:
您可以使用 GitLab 页面左侧的分支选择器到 select 版本,或右侧的历史记录按钮来查看给定文件的更改列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.