繁体   English   中英

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'属性,我不知道如何找到有关它的文档。

我该如何解决这个问题?

您正在寻找的代码,加载扩展的 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM