我刚开始使用python并为自己编写了一个很好的小脚本,它通过pynotify使用gnome-notifications,如下所示:
import pynotify
pynotify.init("Application") 
alert = pynotify.Notification("Title", "Description") 
alert.show();
这很好用,但问题是,当我连续两次执行脚本时,第一个通知需要一段时间才能消失.第二个显示在那之后.由于第一个在我第二次执行脚本时已经过时,我想在显示第二个之前以编程方式删除第一个(或替换它).这是可能的,如果是的话,怎么样?
一些上下文来理解我为什么需要这个:因为我经常将鼠标从左手切换到右手,反之亦然,我想要一个只是反转这个偏好的脚本并在通知中告诉我"切换到左边 - 递给"和"改为右手".
小智 6
我搜了一会儿,得出的结论是在这种情况下不可能.
您可以使用Notification.update()更新现有通知对象.但是您无法从系统中查询现有的内容来修改或隐藏它们.可以通过序列化将对象存储在某处并将其恢复以进行更新.但即便如此,您仍然必须知道通知的确切持续时间以及启动时的时间戳,因为无法测试通知是否仍然可见.
一个简短的样本如何使用update().仅供参考,因为pynotify doc似乎对我来说几乎不存在:
#!/usr/bin/env python
import pynotify
pynotify.init("MyApplication")
a = pynotify.Notification("Test notification", "Lorem ipsum op")
a.show()
raw_input("Press return to update the notification")
a.update("Updated notification", "Ipsum lorem still op")
a.show()
您必须show()在更新后致电.否则,将不会显示更改.
Notification对象中还有一个close()函数,但这对我没有任何作用(在Linux/Gnome上,可能是系统依赖).
| 归档时间: | 
 | 
| 查看次数: | 1281 次 | 
| 最近记录: |