core.desktop: make dependency python-gobject optional

This commit is contained in:
enkore 2013-08-03 14:24:37 +02:00
parent f39e4b3684
commit c3441da72e

View File

@ -1,22 +1,27 @@
from gi.repository import Notify
if not Notify.init("i3pystatus"):
try:
from gi.repository import Notify
except ImportError:
def display_notification(title, body, icon, urgency, timeout):
pass
else:
if not Notify.init("i3pystatus"):
raise ImportError("Couldn't initialize libnotify")
URGENCY_LUT = (
URGENCY_LUT = (
Notify.Urgency.LOW,
Notify.Urgency.NORMAL,
Notify.Urgency.CRITICAL,
)
)
# List of some useful icon names:
# battery, battery-caution, battery-low
# …
# List of some useful icon names:
# battery, battery-caution, battery-low
# …
def display_notification(title, body, icon="dialog-information", urgency=1, timeout=0):
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()