使用GObjects发送通知

时间:2012-07-01 22:03:38

标签: python notifications gnome pygobject gnome-3

目前似乎缺乏针对python的GObjects模块的文档,所以也许有人可以帮助我。

我正在制作一个应用程序,偶尔必须通知用户发生了一个事件。我发现使用from gi.repository import Notify和相关类来使用skip通知和C文档的简短片段,但是当我调用Notify.uninit时它似乎没有关闭。程序关闭,但小通知窗口的东西保持不变,必须通过右键单击它并选择"删除"来关闭。所以,我想知道是否有另一种方式,如果有类似的东西,如果有什么类似于Mac OS中的应用程序图标震动/反弹发生的事情或在Windows中应用程序图标发出不同的颜色?

我喜欢带有消息堆栈等的Gnome 3通知系统,但是因为当我的应用程序退出时我似乎无法让它消失,所以我真的不想使用它(除非有人知道如何正确地做到这一点...可能是我忘了设置超时,但仍然没有理由为什么我不能让通知点消失)。

1 个答案:

答案 0 :(得分:7)

调用Notify.uninit不应该使通知消失,它只告诉libnotify你的应用程序将不再需要它。要使通知消失,您必须明确地关闭它们,如下例所示:

import time
from gi.repository import Notify

Notify.init('myapp')

# optionally set an icon as the last argument
n = Notify.Notification.new('summary text', 'body text', "dialog-information")
n.show()

# do whatever your application is doing
time.sleep(10)

n.close()
Notify.uninit()