From 6740f5b1ccd1e1f4d9788cb3438bd2f9ec55365b Mon Sep 17 00:00:00 2001 From: enkore Date: Tue, 5 Mar 2013 17:26:28 +0100 Subject: [PATCH] #5: Add slim wrapper for notifications --- i3pystatus/core/desktop.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 i3pystatus/core/desktop.py diff --git a/i3pystatus/core/desktop.py b/i3pystatus/core/desktop.py new file mode 100644 index 0000000..a22b65b --- /dev/null +++ b/i3pystatus/core/desktop.py @@ -0,0 +1,22 @@ + +from gi.repository import Notify + +if not Notify.init("i3pystatus"): + raise ImportError("Couldn't initialize libnotify") + +URGENCY_LUT = ( + Notify.Urgency.LOW, + Notify.Urgency.NORMAL, + Notify.Urgency.CRITICAL, +) + +# List of some useful icon names: +# battery, battery-caution, battery-low +# … + +def display_notification(title, body, icon="dialog-information", urgency=1, timeout=0): + notification = Notify.Notification.new(title, body, icon) + if timeout: + notification.set_timeout(timeout) + notification.set_urgency(URGENCY_LUT[urgency]) + return notification.show()