2017-10-07 41 views
0

我的程序需要对未对GNotification采取任何操作的用户做出反应。在Gnome中处理GNotifications超时?

更具体地说,只有在用户没有按下数据创建后发送的通知上的“撤销”按钮时,才会将一段数据写入数据库。我的目标部署方案确实启用了通知并且有一个实际的超时值。

准确的说:移动通知“离开”/删除它也应该算作这样的超时。

1)是否有内置的方法来'侦听'通知超时?

2)如果不是,我怎么还能实现类似的行为?

回答

0

我会使用D-Bus org.freedesktop.Notifications接口。虽然它仍然是draft specification,但确实看起来很稳定。我使用Vala访问D-Bus接口的经验是,它更易于使用,并提供规范的全部功能集。 GNotification似乎不像功能完整。

从规范草案中您将看到org.freedesktop.Notifications.Notify方法的expire_timeout参数。这应该适合您的超时要求,尽管我没有亲自使用它。还有一个org.freedesktop.Notifications.NotificationClosed信号,可以在通知关闭时通知您的程序,包括由于超时或被用户解雇。

这个post about the screen lock re-design for GNOME Shell 3.10可能会给出一些指示什么通知是有能力的。该帖子包含了锁屏中出现的一些通知的屏幕截图。