comparison sat_frontends/primitivus/notify.py @ 2624:56f94936df1e

code style reformatting using black
author Goffi <goffi@goffi.org>
date Wed, 27 Jun 2018 20:14:46 +0200
parents 26edcf3a30eb
children 003b8b4b56a7
comparison
equal deleted inserted replaced
2623:49533de4540b 2624:56f94936df1e
17 # You should have received a copy of the GNU Affero General Public License 17 # You should have received a copy of the GNU Affero General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. 18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20 import dbus 20 import dbus
21 21
22
22 class Notify(object): 23 class Notify(object):
23 """Used to send notification and detect if we have focus""" 24 """Used to send notification and detect if we have focus"""
24 25
25 def __init__(self): 26 def __init__(self):
26 27
27 #X11 stuff 28 # X11 stuff
28 self.display = None 29 self.display = None
29 self.X11_id = -1 30 self.X11_id = -1
30 31
31 try: 32 try:
32 from Xlib import display as X_display 33 from Xlib import display as X_display
34
33 self.display = X_display.Display() 35 self.display = X_display.Display()
34 self.X11_id = self.getFocus() 36 self.X11_id = self.getFocus()
35 except: 37 except:
36 pass 38 pass
37 39
38 #Now we try to connect to Freedesktop D-Bus API 40 # Now we try to connect to Freedesktop D-Bus API
39 try: 41 try:
40 bus = dbus.SessionBus() 42 bus = dbus.SessionBus()
41 db_object = bus.get_object('org.freedesktop.Notifications', '/org/freedesktop/Notifications', follow_name_owner_changes=True) 43 db_object = bus.get_object(
42 self.freedesktop_int = dbus.Interface(db_object, dbus_interface='org.freedesktop.Notifications') 44 "org.freedesktop.Notifications",
45 "/org/freedesktop/Notifications",
46 follow_name_owner_changes=True,
47 )
48 self.freedesktop_int = dbus.Interface(
49 db_object, dbus_interface="org.freedesktop.Notifications"
50 )
43 except: 51 except:
44 self.freedesktop_int = None 52 self.freedesktop_int = None
45 53
46 def getFocus(self): 54 def getFocus(self):
47 if not self.display: 55 if not self.display:
54 def useX11(self): 62 def useX11(self):
55 return bool(self.display) 63 return bool(self.display)
56 64
57 def sendNotification(self, summ_mess, body_mess=""): 65 def sendNotification(self, summ_mess, body_mess=""):
58 """Send notification to the user if possible""" 66 """Send notification to the user if possible"""
59 #TODO: check options before sending notifications 67 # TODO: check options before sending notifications
60 if self.freedesktop_int: 68 if self.freedesktop_int:
61 self.sendFDNotification(summ_mess, body_mess) 69 self.sendFDNotification(summ_mess, body_mess)
62 70
63 def sendFDNotification(self, summ_mess, body_mess=""): 71 def sendFDNotification(self, summ_mess, body_mess=""):
64 """Send notification with the FreeDesktop D-Bus API""" 72 """Send notification with the FreeDesktop D-Bus API"""
66 app_name = "Primitivus" 74 app_name = "Primitivus"
67 replaces_id = 0 75 replaces_id = 0
68 app_icon = "" 76 app_icon = ""
69 summary = summ_mess 77 summary = summ_mess
70 body = body_mess 78 body = body_mess
71 actions = dbus.Array(signature='s') 79 actions = dbus.Array(signature="s")
72 hints = dbus.Dictionary(signature='sv') 80 hints = dbus.Dictionary(signature="sv")
73 expire_timeout = -1 81 expire_timeout = -1
74 82
75 self.freedesktop_int.Notify(app_name, replaces_id, app_icon, 83 self.freedesktop_int.Notify(
76 summary, body, actions, 84 app_name,
77 hints, expire_timeout) 85 replaces_id,
86 app_icon,
87 summary,
88 body,
89 actions,
90 hints,
91 expire_timeout,
92 )