diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index acaa77526..1a6e28aef 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -608,7 +608,7 @@ AppWellIcon.prototype = { }, getDragActor: function() { - return this.app.create_icon_texture(Main.overview.dash.iconSize); + return this.app.create_icon_texture(Main.overview.dashIconSize); }, // Returns the original actor that should align with the actor diff --git a/js/ui/dash.js b/js/ui/dash.js index f2c652c61..77d4eb4a0 100644 --- a/js/ui/dash.js +++ b/js/ui/dash.js @@ -437,6 +437,7 @@ Dash.prototype = { let oldIconSize = this.iconSize; this.iconSize = newIconSize; + this.emit('icon-size-changed'); let scale = oldIconSize / newIconSize; for (let i = 0; i < iconChildren.length; i++) { diff --git a/js/ui/overview.js b/js/ui/overview.js index 4f3d1025a..4cba62a10 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -193,14 +193,19 @@ Overview.prototype = { this._viewSelector.addSearchProvider(new DocDisplay.DocSearchProvider()); // TODO - recalculate everything when desktop size changes - this.dash = new Dash.Dash(); - this._group.add_actor(this.dash.actor); - this.dash.actor.add_constraint(this._viewSelector.constrainY); - this.dash.actor.add_constraint(this._viewSelector.constrainHeight); + this._dash = new Dash.Dash(); + this._group.add_actor(this._dash.actor); + this._dash.actor.add_constraint(this._viewSelector.constrainY); + this._dash.actor.add_constraint(this._viewSelector.constrainHeight); + this.dashIconSize = this._dash.iconSize; + this._dash.connect('icon-size-changed', + Lang.bind(this, function() { + this.dashIconSize = this._dash.iconSize; + })); // Translators: this is the name of the dock/favorites area on // the left of the overview - Main.ctrlAltTabManager.addGroup(this.dash.actor, _("Dash"), 'user-bookmarks'); + Main.ctrlAltTabManager.addGroup(this._dash.actor, _("Dash"), 'user-bookmarks'); Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._relayout)); this._relayout(); @@ -467,12 +472,12 @@ Overview.prototype = { // Set the dash's x position - y is handled by a constraint let dashX; if (rtl) { - this.dash.actor.set_anchor_point_from_gravity(Clutter.Gravity.NORTH_EAST); + this._dash.actor.set_anchor_point_from_gravity(Clutter.Gravity.NORTH_EAST); dashX = primary.width; } else { dashX = 0; } - this.dash.actor.set_x(dashX); + this._dash.actor.set_x(dashX); this._viewSelector.actor.set_position(viewX, viewY); this._viewSelector.actor.set_size(viewWidth, viewHeight); diff --git a/js/ui/searchDisplay.js b/js/ui/searchDisplay.js index bdaa59c8d..d1534afb1 100644 --- a/js/ui/searchDisplay.js +++ b/js/ui/searchDisplay.js @@ -88,7 +88,7 @@ SearchResult.prototype = { }, getDragActor: function(stageX, stageY) { - return this.metaInfo['createIcon'](Main.overview.dash.iconSize); + return this.metaInfo['createIcon'](Main.overview.dashIconSize); }, shellWorkspaceLaunch: function(params) {