From 68f5674e626e06a8f944b6438ad5d63d1ecda739 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 46107808e..d26f3d11f 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -691,6 +691,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', @@ -704,12 +710,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) {