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 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")
if not Notify.init("i3pystatus"): URGENCY_LUT = (
raise ImportError("Couldn't initialize libnotify") Notify.Urgency.LOW,
Notify.Urgency.NORMAL,
Notify.Urgency.CRITICAL,
)
URGENCY_LUT = ( # List of some useful icon names:
Notify.Urgency.LOW, # battery, battery-caution, battery-low
Notify.Urgency.NORMAL, # …
Notify.Urgency.CRITICAL,
)
# List of some useful icon names: def display_notification(title, body, icon="dialog-information", urgency=1, timeout=0):
# battery, battery-caution, battery-low notification = Notify.Notification.new(title, body, icon)
# … if timeout:
notification.set_timeout(timeout)
notification.set_urgency(URGENCY_LUT[urgency])
return notification.show()
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()