[gnome-shell] Add policy for builtin message sources



commit 9794e71a86c7cfbd39b5704acee6cbee8f3b63c0
Author: Giovanni Campagna <gcampagna src gnome org>
Date:   Sun Nov 4 02:11:08 2012 +0100

    Add policy for builtin message sources
    
    Some notifications, despite being emitted by shell code, should appear
    to be from application or "separable" system components. Do that by
    associating them with a notification-daemon policy.
    
    Note that for this to look really good, empathy should rename itself
    to Chat.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=685926

 js/ui/components/telepathyClient.js |   11 +++++++++++
 js/ui/status/bluetooth.js           |    2 ++
 js/ui/status/network.js             |    2 ++
 3 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/components/telepathyClient.js b/js/ui/components/telepathyClient.js
index 440655c..72df82d 100644
--- a/js/ui/components/telepathyClient.js
+++ b/js/ui/components/telepathyClient.js
@@ -13,6 +13,7 @@ const Tp = imports.gi.TelepathyGLib;
 const History = imports.misc.history;
 const Main = imports.ui.main;
 const MessageTray = imports.ui.messageTray;
+const NotificationDaemon = imports.ui.notificationDaemon;
 const Params = imports.misc.params;
 const PopupMenu = imports.ui.popupMenu;
 
@@ -415,6 +416,8 @@ const TelepathyClient = new Lang.Class({
     _ensureAppSource: function() {
         if (this._appSource == null) {
             this._appSource = new MessageTray.Source(_("Chat"), 'empathy');
+            this._appSource.policy = new NotificationDaemon.NotificationApplicationPolicy('empathy');
+
             Main.messageTray.add(this._appSource);
             this._appSource.connect('destroy', Lang.bind(this, function () {
                 this._appSource = null;
@@ -484,6 +487,10 @@ const ChatSource = new Lang.Class({
         return rightClickMenu;
     },
 
+    _createPolicy: function() {
+        return new NotificationDaemon.NotificationApplicationPolicy('empathy');
+    },
+
     _updateAlias: function() {
         let oldAlias = this.title;
         let newAlias = this._contact.get_alias();
@@ -1048,6 +1055,10 @@ const ApproverSource = new Lang.Class({
         }));
     },
 
+    _createPolicy: function() {
+        return new NotificationDaemon.NotificationApplicationPolicy('empathy');
+    },
+
     destroy: function() {
         if (this._invalidId != 0) {
             this._dispatchOp.disconnect(this._invalidId);
diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
index da720f3..4636710 100644
--- a/js/ui/status/bluetooth.js
+++ b/js/ui/status/bluetooth.js
@@ -9,6 +9,7 @@ const St = imports.gi.St;
 
 const Main = imports.ui.main;
 const MessageTray = imports.ui.messageTray;
+const NotificationDaemon = imports.ui.notificationDaemon;
 const PanelMenu = imports.ui.panelMenu;
 const PopupMenu = imports.ui.popupMenu;
 
@@ -286,6 +287,7 @@ const Indicator = new Lang.Class({
     _ensureSource: function() {
         if (!this._source) {
             this._source = new MessageTray.Source(_("Bluetooth"), 'bluetooth-active');
+            this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-bluetooth-panel');
             Main.messageTray.add(this._source);
         }
     },
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index 8c7c4dc..93225fd 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -20,6 +20,7 @@ const Main = imports.ui.main;
 const PanelMenu = imports.ui.panelMenu;
 const PopupMenu = imports.ui.popupMenu;
 const MessageTray = imports.ui.messageTray;
+const NotificationDaemon = imports.ui.notificationDaemon;
 const ModemManager = imports.misc.modemManager;
 const Util = imports.misc.util;
 
@@ -1783,6 +1784,7 @@ const NMApplet = new Lang.Class({
         if (!this._source) {
             this._source = new MessageTray.Source(_("Network Manager"),
                                                   'network-transmit-receive');
+            this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-network-panel');
 
             this._source.connect('destroy', Lang.bind(this, function() {
                 this._source = null;



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