From 50f0fc4e23fe62ae807f9066afae888502435ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 22 Oct 2011 16:48:01 +0200 Subject: [PATCH] overviewControls: Adjust heuristic for hiding workspace switcher The workspace switcher should be expanded when workspaces are in use. Our current implementation assumes that workspaces are used when there are windows on at least two workspaces. However workspaces are already used when moving from a non-empty workspace to an empty one (presumably with the intention to launch something on that workspace), so tweak the heuristic accordingly. https://bugzilla.gnome.org/show_bug.cgi?id=662457 --- js/ui/overviewControls.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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;