Remove source icon when a corresponding window is activated
Source icons are no longer needed to inform the user about events having occured in a particular application when (s)he activates the window - treat that case just as if the user had clicked the source icon. https://bugzilla.gnome.org/show_bug.cgi?id=610494
This commit is contained in:
parent
1f1f4432f6
commit
4d43424efd
@ -489,6 +489,12 @@ MessageTray.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
removeSourceByApp: function(app) {
|
||||
for (let source in this._sources)
|
||||
if (this._sources[source].app == app)
|
||||
this.removeSource(this._sources[source]);
|
||||
},
|
||||
|
||||
removeNotification: function(notification) {
|
||||
if (this._notification == notification && (this._notificationState == State.SHOWN || this._notificationState == State.SHOWING)) {
|
||||
if (this._notificationTimeoutId) {
|
||||
|
@ -100,6 +100,9 @@ NotificationDaemon.prototype = {
|
||||
Lang.bind(this, this._lostName));
|
||||
|
||||
this._currentNotifications = {};
|
||||
|
||||
Shell.WindowTracker.get_default().connect('notify::focus-app',
|
||||
Lang.bind(this, this._onFocusAppChanged));
|
||||
},
|
||||
|
||||
_acquiredName: function() {
|
||||
@ -260,6 +263,10 @@ NotificationDaemon.prototype = {
|
||||
];
|
||||
},
|
||||
|
||||
_onFocusAppChanged: function(tracker) {
|
||||
Main.messageTray.removeSourceByApp(tracker.focus_app);
|
||||
},
|
||||
|
||||
_actionInvoked: function(notification, action, source, id) {
|
||||
this._emitActionInvoked(id, action);
|
||||
source.destroy();
|
||||
|
Loading…
Reference in New Issue
Block a user