From dc94f7b9f539c003a8778f9e26a7e7bda3354af0 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Tue, 1 Jul 2014 21:47:31 +0200 Subject: [PATCH] notificationdaemon: fix gtk protocol for newer glib The new protocol uses a "priority" string instead of the "urgent" boolean. --- js/ui/notificationDaemon.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index dd2566117..f596e8901 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -692,6 +692,12 @@ const FdoNotificationDaemonSource = new Lang.Class({ } }); +const PRIORITY_URGENCY_MAP = { + low: MessageTray.Urgency.LOW, + normal: MessageTray.Urgency.NORMAL, + high: MessageTray.Urgency.HIGH, + urgent: MessageTray.Urgency.CRITICAL +}; const GtkNotificationDaemonNotification = new Lang.Class({ Name: 'GtkNotificationDaemonNotification', @@ -705,12 +711,20 @@ const GtkNotificationDaemonNotification = new Lang.Class({ "body": body, "icon": gicon, "urgent": urgent, + "priority": priority, "buttons": buttons, "default-action": defaultAction, "default-action-target": defaultActionTarget } = notification; - this.setUrgency(urgent.unpack() ? MessageTray.Urgency.CRITICAL - : MessageTray.Urgency.NORMAL); + if (priority) { + let urgency = PRIORITY_URGENCY_MAP[priority.unpack()]; + this.setUrgency(urgency != undefined ? urgency : MessageTray.Urgency.NORMAL); + } else if (urgent) { + this.setUrgency(urgent.unpack() ? MessageTray.Urgency.CRITICAL + : MessageTray.Urgency.NORMAL); + } else { + this.setUrgency(MessageTray.Urgency.NORMAL); + } if (buttons) { buttons.deep_unpack().forEach(Lang.bind(this, function(button) {