From ab5093773ca22d5a669368b7d832c36439b665d2 Mon Sep 17 00:00:00 2001 From: trigg Date: Sat, 9 Apr 2022 11:14:52 +0000 Subject: [PATCH] - Some notifications crashes fixed - Icon gap removed if no icon needed in notification --- discover_overlay/discover_overlay.py | 21 +++++++++++---------- discover_overlay/notification_overlay.py | 3 +++ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/discover_overlay/discover_overlay.py b/discover_overlay/discover_overlay.py index 5a27ada..d839bea 100755 --- a/discover_overlay/discover_overlay.py +++ b/discover_overlay/discover_overlay.py @@ -134,16 +134,17 @@ class Discover: def add_notification_message(self, bus, message): args = message.get_args_list() - noti = {"title": "%s" % (args[3]), "body": "%s" % (args[4]), - "icon": "%s" % (args[2]), "cmd": "%s" % (args[0]), "time": time.time()} - if len(args) > 6: - dictionary = args[6] - if 'image-data' in dictionary: - noti['icon_raw'] = dictionary['image-data'] - elif 'image_data' in dictionary: - noti['icon_raw'] = dictionary['image_data'] - self.notification_messages.append(noti) - self.notification_overlay.set_content(self.notification_messages, True) + if len(args) > 4: + noti = {"title": "%s" % (args[3]), "body": "%s" % (args[4]), + "icon": "%s" % (args[2]), "cmd": "%s" % (args[0]), "time": time.time()} + if len(args) > 6: + dictionary = args[6] + if 'image-data' in dictionary: + noti['icon_raw'] = dictionary['image-data'] + elif 'image_data' in dictionary: + noti['icon_raw'] = dictionary['image_data'] + self.notification_messages.append(noti) + self.notification_overlay.set_content(self.notification_messages, True) def do_args(self, data, normal_close): """ diff --git a/discover_overlay/notification_overlay.py b/discover_overlay/notification_overlay.py index 695f122..a9cb184 100644 --- a/discover_overlay/notification_overlay.py +++ b/discover_overlay/notification_overlay.py @@ -285,6 +285,7 @@ class NotificationOverlayWindow(OverlayWindow): message = m_with_body % (self.sanitize_string(col), self.sanitize_string(line["title"])) + icon = None # If we've got an embedded image if "icon_surface" in line and line["icon_surface"]: icon = line["icon_surface"] @@ -308,7 +309,9 @@ class NotificationOverlayWindow(OverlayWindow): icon_pad = self.icon_pad if not self.show_icon: icon = None + if not icon: icon_pad = 0 + icon_width = 0 layout = self.create_pango_layout(text) layout.set_auto_dir(True)