0

我正在尝试修复和增强 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) 我必须这样做。

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

编辑:

其实我才意识到是什么原因造成的。启用时,扩展轮胎会从概述中获取对 appicons 的引用。

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 重新启动后的镜子控制台中,它显示了应用程序概述中的所有应用程序。所以它按预期工作。只有扩展的行为不同,我必须先访问概述并重新启用扩展。

4

1 回答 1

0

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

于 2014-05-21T22:27:35.187 回答