diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 22e805a70..bae24045d 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -1498,7 +1498,9 @@ const AppIconMenu = new Lang.Class({ _redisplay: function() { this.removeAll(); - let windows = this._source.app.get_windows(); + let windows = this._source.app.get_windows().filter(function(w) { + return Shell.WindowTracker.is_window_interesting(w); + }); // Display the app windows menu items and the separator between windows // of the current desktop and other windows. diff --git a/src/shell-app.c b/src/shell-app.c index fdc7f3ff1..0a919b97e 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -739,10 +739,10 @@ shell_app_compare_windows (gconstpointer a, * shell_app_get_windows: * @app: * - * Get the toplevel, interesting windows which are associated with this - * application. The returned list will be sorted first by whether - * they're on the active workspace, then by whether they're visible, - * and finally by the time the user last interacted with them. + * Get the windows which are associated with this application. The + * returned list will be sorted first by whether they're on the + * active workspace, then by whether they're visible, and finally + * by the time the user last interacted with them. * * Returns: (transfer none) (element-type MetaWindow): List of windows */ diff --git a/src/shell-window-tracker.c b/src/shell-window-tracker.c index ed9d9b43c..6ec6b4920 100644 --- a/src/shell-window-tracker.c +++ b/src/shell-window-tracker.c @@ -489,9 +489,6 @@ track_window (ShellWindowTracker *self, { ShellApp *app; - if (!shell_window_tracker_is_window_interesting (window)) - return; - app = get_app_for_window (self, window); if (!app) return; @@ -530,11 +527,8 @@ disassociate_window (ShellWindowTracker *self, g_hash_table_remove (self->window_to_app, window); - if (shell_window_tracker_is_window_interesting (window)) - { - _shell_app_remove_window (app, window); - g_signal_handlers_disconnect_by_func (window, G_CALLBACK(on_wm_class_changed), self); - } + _shell_app_remove_window (app, window); + g_signal_handlers_disconnect_by_func (window, G_CALLBACK(on_wm_class_changed), self); g_signal_emit (self, signals[TRACKED_WINDOWS_CHANGED], 0);