繁体   English   中英

登录或gnome Shell重新启动后,Gnome Shell扩展未自动加载

[英]Gnome shell extension is not loading automatically after the login or gnome shell restart

我正在尝试修复和增强由Franco Bianconi创建的gs-ext-applications-overview-tooltip ,以便它将在gnome-shell 3.10和3.12下运行。 我在git-hub上分叉了他的代码,并且能够解决一些问题并提出了一些增强功能。 令我大吃一惊的是,该扩展现在在gnome shell 3.12下运行,我提供的增强功能也按预期运行。 我的代码位于github上

我的问题是,扩展在启动后或在重新启动gnome-shell之后无法正常工作。 我必须禁用扩展名,然后再次重新启用它。 然后,应用程序概述中的工具提示将按预期显示。 如果重新启动gnome-shell(Alt + F2:r),则必须执行相同的操作。

我无法在日志中找到任何相关的错误消息,也不知道是什么原因引起的。 可以给我一些提示吗?

编辑:

实际上,我只是意识到是什么原因造成的。 启用后,扩展程序会从概述中获取对应用程序图标的引用。

let appIcons = Main.overview.viewSelector.appDisplay._views[1].view._items;

当尚未“访问”应用程序概述时,这将导致空的appIcons对象-在登录或重新启动gnome-shell之后就是这种情况。 如果转到总览菜单,然后再重新启用该扩展名,它将起作用,因为它可以从总览中获得对应用程序图标的引用。

问题是:我该如何解决这个问题?

编辑2:

我刚意识到这一点:

let appIcons;
appIcons = Main.overview.viewSelector.appDisplay._views[1].view._items;
Object.getOwnPropertyNames(appIcons);

在gnome-shel重新启动后,立即在窥视镜控制台中显示应用程序概述中的所有应用程序。 因此它按预期工作。 只有扩展名的行为有所不同,我必须先访问概述并重新启用扩展名。

Github上的某人非常友善,并提供了解决此问题的方法。 有关解决方案,请参阅此pull-request

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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