如何通过脚本向启动器图标添加信息指示?

如何通过脚本向启动器图标添加信息指示?

一些应用程序将信息文本放置在启动器中的图标上。

例如,Thunderbird 显示未读消息数,而 Update Manager 显示可用更新数和进度条。图片显示了这两个示例:

带有信息叠加的启动器图标

我创建了一些使用yad(Zenity fork)的 Bash 脚本,它在运行时向启动器添加一个图标。

我想知道如何在我的脚本中为这些图标创建自己的信息覆盖。

答案1

这是针对 Python 的,也许可以找到针对其他语言的东西。

从更新管理器源代码 UnitySupport.py 中:

你需要:

from gi.repository import Dbusmenu, Unity

获得 Unity 支持。

然后您可以定义一个函数:

def set_launcher_icon_num(self, num_count):
    self._unity.set_property("count", num_count)
    if num_count > 0:
        self._unity.set_property("count-visible", True)
    else:
        self._unity.set_property("count-visible", False)

另外,为了表示紧迫性(摇动图标),

self._unity.set_property("urgent", urgent)

或者创建进度条,

self._unity.set_property("progress", progress/100.0)

其中进度是从 0 到 100。然后您可以使用:

self._unity.set_property("progress_visible", True)

显示进度条并使用 False 而不是 True 来隐藏它。

与往常一样,搜索执行您要执行的操作的程序的源代码是值得的。

这些内容随时可能更改。您还可以查看Unity API

答案2

我认为您不能直接通过 bash 进行此操作,您必须与 API 交互。通过 gi 内省可以进行 python 绑定。请参阅此页面,其中有 python 和 vala 示例: https://wiki.ubuntu.com/Unity/LauncherAPI

相关内容