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()