window-list: Update icon on app changes
We currently assume that the application associated with a particular window is fixed. While this holds true for almost every application, there are some cases of multi-app-packages like LibreOffice where windows may change the properties used for application matching at runtime. Catch those cases to make sure we display the correct icon when the window shifts applications. https://bugzilla.gnome.org/show_bug.cgi?id=771731
This commit is contained in:
@@ -152,6 +152,12 @@ const WindowTitle = new Lang.Class({
|
||||
this._iconThemeChangedId =
|
||||
this._textureCache.connect('icon-theme-changed',
|
||||
Lang.bind(this, this._updateIcon));
|
||||
this._notifyWmClass =
|
||||
this._metaWindow.connect('notify::wm-class',
|
||||
Lang.bind(this, this._updateIcon));
|
||||
this._notifyAppId =
|
||||
this._metaWindow.connect('notify::gtk-application-id',
|
||||
Lang.bind(this, this._updateIcon));
|
||||
this._updateIcon();
|
||||
|
||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||
@@ -193,6 +199,8 @@ const WindowTitle = new Lang.Class({
|
||||
this._textureCache.disconnect(this._iconThemeChangedId);
|
||||
this._metaWindow.disconnect(this._notifyTitleId);
|
||||
this._metaWindow.disconnect(this._notifyMinimizedId);
|
||||
this._metaWindow.disconnect(this._notifyWmClass);
|
||||
this._metaWindow.disconnect(this._notifyAppId);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user