[gnome-shell] NotificationDaemon: don't notify for resident notifications when application is focused



commit 8798ec653d9f29af0f7fe80a90465557e24d98c6
Author: Neha Doijode <ndoijode gmail com>
Date:   Tue Mar 22 02:56:04 2011 +0530

    NotificationDaemon: don't notify for resident notifications when application is focused
    
    The applications have to have a way of keeping resident notifications
    updated without unnecessarily notifying the user with the information
    the user is already seeing in the application window.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=630847

 js/ui/notificationDaemon.js |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
index 2a59d98..e807af4 100644
--- a/js/ui/notificationDaemon.js
+++ b/js/ui/notificationDaemon.js
@@ -346,7 +346,7 @@ NotificationDaemon.prototype = {
         notification.setTransient(hints['transient'] == true);
 
         let sourceIconActor = source.useNotificationIcon ? this._iconForNotificationData(icon, hints, source.ICON_SIZE) : null;
-        source.notify(notification, sourceIconActor);
+        source.processNotification(notification, sourceIconActor);
     },
 
     CloseNotification: function(id) {
@@ -445,12 +445,17 @@ Source.prototype = {
         this._trayIcon = null;
     },
 
-    notify: function(notification, icon) {
+    processNotification: function(notification, icon) {
         if (!this.app)
             this._setApp();
         if (!this.app && icon)
             this._setSummaryIcon(icon);
-        MessageTray.Source.prototype.notify.call(this, notification);
+
+        let tracker = Shell.WindowTracker.get_default();
+        if (notification.resident && this.app && tracker.focus_app == this.app)
+            this.pushNotification(notification);
+        else
+            this.notify(notification);
     },
 
     handleSummaryClick: function() {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]