一些应用程序将信息文本放置在启动器中的图标上。
例如,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