Mercurial > libervia-backend
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 ) |