From f259162d641e05ae2f3c8abde3cc13491980e28c Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Thu, 17 Mar 2011 09:37:55 -0400 Subject: [PATCH] workspacesView: Fix graphical glitches with windows appearing for a split-second When we were knocking off workspace height to fix the ratio problems, we weren't adding spacing in between workspaces, so they smooshed up against each other whenever we took height off, causing them to be visible. --- js/ui/workspacesView.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index b37417950..774ea594e 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -51,6 +51,7 @@ WorkspacesView.prototype = { this._height = 0; this._x = 0; this._y = 0; + this._workspaceRatioSpacing = 0; this._spacing = 0; this._lostWorkspaces = []; this._animating = false; // tweening @@ -124,7 +125,7 @@ WorkspacesView.prototype = { this._swipeScrollEndId = 0; }, - setGeometry: function(x, y, width, height) { + setGeometry: function(x, y, width, height, spacing) { if (this._x == x && this._y == y && this._width == width && this._height == height) return; @@ -132,6 +133,7 @@ WorkspacesView.prototype = { this._height = height; this._x = x; this._y = y; + this._workspaceRatioSpacing = spacing; for (let i = 0; i < this._workspaces.length; i++) this._workspaces[i].setGeometry(x, y, width, height); @@ -200,7 +202,7 @@ WorkspacesView.prototype = { Tweener.removeTweens(workspace.actor); let opacity = (this._inDrag && w != active) ? 200 : 255; - let y = (w - active) * (this._height + this._spacing); + let y = (w - active) * (this._height + this._spacing + this._workspaceRatioSpacing); if (showAnimation) { let params = { y: y, @@ -763,9 +765,10 @@ WorkspacesDisplay.prototype = { } height = (fullHeight / fullWidth) * width; - y += (fullHeight - height) / 2; + let difference = fullHeight - height; + y += difference / 2; - this.workspacesView.setGeometry(x, y, width, height); + this.workspacesView.setGeometry(x, y, width, height, difference); }, _onRestacked: function() {