NotificationDaemon: don't destroy trayicons when dismissing their notifications
Tray icons control their own lifespan; they're not supposed to disappear when you dismiss their notifications like non-trayicon notification sources do. https://bugzilla.gnome.org/show_bug.cgi?id=631042
This commit is contained in:
parent
de16108dff
commit
bbdf88cf94
@ -344,14 +344,14 @@ NotificationDaemon.prototype = {
|
|||||||
for (let id in this._sources) {
|
for (let id in this._sources) {
|
||||||
let source = this._sources[id];
|
let source = this._sources[id];
|
||||||
if (source.app == tracker.focus_app) {
|
if (source.app == tracker.focus_app) {
|
||||||
source.destroy();
|
source.activated();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_actionInvoked: function(notification, action, source, id) {
|
_actionInvoked: function(notification, action, source, id) {
|
||||||
source.destroy();
|
source.activated();
|
||||||
this._emitActionInvoked(id, action);
|
this._emitActionInvoked(id, action);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -401,6 +401,7 @@ Source.prototype = {
|
|||||||
this.title = this.app.get_name();
|
this.title = this.app.get_name();
|
||||||
else
|
else
|
||||||
this.useNotificationIcon = true;
|
this.useNotificationIcon = true;
|
||||||
|
this._isTrayIcon = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
notify: function(notification, icon) {
|
notify: function(notification, icon) {
|
||||||
@ -427,11 +428,18 @@ Source.prototype = {
|
|||||||
setTrayIcon: function(icon) {
|
setTrayIcon: function(icon) {
|
||||||
this._setSummaryIcon(icon);
|
this._setSummaryIcon(icon);
|
||||||
this.useNotificationIcon = false;
|
this.useNotificationIcon = false;
|
||||||
|
this._isTrayIcon = true;
|
||||||
},
|
},
|
||||||
|
|
||||||
_notificationClicked: function() {
|
_notificationClicked: function(notification) {
|
||||||
|
notification.destroy();
|
||||||
this.openApp();
|
this.openApp();
|
||||||
this.destroy();
|
this.activated();
|
||||||
|
},
|
||||||
|
|
||||||
|
activated: function() {
|
||||||
|
if (!this._isTrayIcon)
|
||||||
|
this.destroy();
|
||||||
},
|
},
|
||||||
|
|
||||||
openApp: function() {
|
openApp: function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user