Python 如何删除过时的pynotify通知?

Python 如何删除过时的pynotify通知?,python,gnome,pynotify,Python,Gnome,Pynotify,我刚开始使用python,并为自己编写了一个使用 通过pynotify发送gnome通知,如下所示: import pynotify pynotify.init("Application") alert = pynotify.Notification("Title", "Description") alert.show(); 这非常有效,但问题是,当我连续两次执行脚本时,第一个通知需要一段时间才能消失。第二个在那之后被显示。由于在第二次执行脚本时第一个脚本已经过时,因此我希望在显示第二个

我刚开始使用python,并为自己编写了一个使用 通过pynotify发送gnome通知,如下所示:

import pynotify

pynotify.init("Application") 
alert = pynotify.Notification("Title", "Description") 
alert.show();
这非常有效,但问题是,当我连续两次执行脚本时,第一个通知需要一段时间才能消失。第二个在那之后被显示。由于在第二次执行脚本时第一个脚本已经过时,因此我希望在显示第二个脚本(或替换它)之前以编程方式删除第一个脚本。这可能吗?如果可能,怎么可能


了解一下我为什么需要这样做的背景:因为我经常将鼠标从左手切换到右手,反之亦然,所以我需要一个脚本,该脚本可以反转此偏好,并在通知中告诉我“切换到左手”和“切换到右手”.

我四处搜索了一会儿,得出结论,在这种情况下,不可能

您可以使用
Notification.update()
更新现有的通知对象。但是您不能从系统中查询现有的文件来修改或隐藏它们。可以通过序列化将对象存储在某个位置,并将其还原为更新。但即使这样,您仍然必须知道通知的确切持续时间以及启动通知时的时间戳,因为无法测试通知是否仍然可见

如何使用
update()
的简短示例。仅供参考,因为pynotify文档在我看来几乎不存在:

#!/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上,可能依赖于系统)