1
如何使启动器进度栏与我的应用程序一起使用?
背景研究 我试图更新一个简单的统一发射中的进度条python/Gtk的应用程序创建使用Quickly所谓的test; 但是,按照此视频中的说明,我无法成功更新Unity启动器中的进度栏。在Unity Integration视频中,Quickly由于未使用,因此应用程序的结构方式略有不同,如果不修改默认Quickly ubuntu-application模板应用程序,视频中使用的代码似乎无法正常运行。 屏幕截图 这是当前在Unity Launcher中显示的应用程序图标的屏幕截图。 这是我想要的Unity启动器进度条功能的屏幕截图(覆盖在邮件图标上:wiki.ubuntu.com)。 项目编号 一个.zip包含项目文件的文件可以发现在这里。 预期行为 我希望上面的代码显示一个进度条,该进度条在Unity Launcher中的测试应用程序的图标上完全覆盖了75%,但是该应用程序仅运行并且在quickly run执行命令时不显示进度条。 问题调查 我认为问题是我没有正确获得对应用程序主窗口的引用,但是,我不确定如何正确解决此问题。我也相信这行:self.launcher = Unity.LauncherEntry.get_for_desktop_id("test.destkop")可能是另一个复杂性源,因为它Quickly创建.desktop.in文件而不是普通.desktop文件,所以我不确定这是否也可能引起问题。 也许,该问题的另一个来源是我并不完全了解.desktop和.desktop.in文件之间的区别。复制test.desktop.in文件并将其重命名test.desktop,然后将其放置/usr/share/applications以便get_for_desktop_id("test,desktop")引用正确的.desktop文件可能有意义吗? 相关研究链接 尽管我仍然不清楚.desktop和.desktop.in文件之间的区别,但是我对.desktop文件进行了一些研究,并且遇到了一些链接: 桌面条目文件(library.gnome.org) 桌面文件安装目录(askubuntu.com) Unity Launcher API(wiki.ubuntu.com) 桌面文件:将您的应用程序放入桌面菜单(developer.gnome.org) 桌面菜单规范(standards.freedesktop.org) 编辑 在运行python setup.py build然后导航到/build/share/applications构建的test.desktop文件并将其移动到~/.local/share/applications并最终执行后quickly run,仅显示图标的问号,没有可见的进度条。 编辑2 经过内置的进一步调查.desktop文件,事实证明,该行: Icon=/usr/share/test/media/test.svg内部.desktop文件指向称为一个图标文件test.svg并不存在。 为了解决此问题,我使用命令创建了一个名为testin 的新文件夹,然后在该命令调用的测试文件夹中创建了另一个文件夹,然后将Quickly项目目录中的图标文件移动到。现在,该应用程序的图标可以正确显示在Unity启动器栏和alt-tab视图中,但是仍然没有可见的进度栏,如下面的屏幕快照所示。/usr/share/sudo mkdir testmediasudo mkdir mediatest.svgtest/data/media/test.svg/usr/share/test/media/.svg 编辑3 正如@dobey所指出的那样,该行的TestWindow.py文件的代码中有一个错字: self.launcher = Unity.LauncherEntry.get_for_desktop_id("test.destkop"), test.destkop应该在哪里test.desktop。 我更改了此错字,使用来执行应用程序时没有发生明显变化quickly …