diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js index ade0f191f..b396ff012 100644 --- a/js/ui/overviewControls.js +++ b/js/ui/overviewControls.js @@ -259,13 +259,18 @@ const ThumbnailsSlider = new Lang.Class({ Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._updateSlide)); this.actor.connect('notify::hover', Lang.bind(this, this._updateSlide)); + global.window_manager.connect('switch-workspace', Lang.bind(this, this._updateSlide)); this._thumbnailsBox.actor.bind_property('visible', this.actor, 'visible', GObject.BindingFlags.SYNC_CREATE); }, _getAlwaysZoomOut: function() { // Always show the pager when hover, during a drag, or if workspaces are - // actually used, e.g. there are windows on more than one - let alwaysZoomOut = this.actor.hover || this._inDrag || !Meta.prefs_get_dynamic_workspaces() || global.screen.n_workspaces > 2; + // actually used, e.g. there are windows on any non-active workspace + let alwaysZoomOut = this.actor.hover || + this._inDrag || + !Meta.prefs_get_dynamic_workspaces() || + global.screen.n_workspaces > 2 || + global.screen.get_active_workspace_index() != 0; if (!alwaysZoomOut) { let monitors = Main.layoutManager.monitors;