view-selector: Don't fade in the initially selected tab

The fade effect when switching tabs should only be applied when
switching from a previously selected tab, not when selecting the
initial one - otherwise, the window previews are faded in the first
time the overview is shown.

https://bugzilla.gnome.org/show_bug.cgi?id=644389
This commit is contained in:
Florian Müllner 2011-03-10 13:14:48 +01:00
parent 2ea12a7699
commit 06ea78af1b

View File

@ -41,11 +41,14 @@ BaseTab.prototype = {
this.visible = false; this.visible = false;
}, },
show: function() { show: function(animate) {
this.visible = true; this.visible = true;
this.page.opacity = 0;
this.page.show(); this.page.show();
if (!animate)
return;
this.page.opacity = 0;
Tweener.addTween(this.page, Tweener.addTween(this.page,
{ opacity: 255, { opacity: 255,
time: 0.1, time: 0.1,
@ -393,6 +396,8 @@ ViewSelector.prototype = {
}, },
_switchTab: function(tab) { _switchTab: function(tab) {
let firstSwitch = this._activeTab == null;
if (this._activeTab && this._activeTab.visible) { if (this._activeTab && this._activeTab.visible) {
if (this._activeTab == tab) if (this._activeTab == tab)
return; return;
@ -408,11 +413,13 @@ ViewSelector.prototype = {
} }
} }
// Only fade when switching between tabs,
// not when setting the initially selected one.
if (!tab.visible) if (!tab.visible)
tab.show(); tab.show(!firstSwitch);
// Pull a Meg Ryan: // Pull a Meg Ryan:
if (Main.overview && Main.overview.workspaces) { if (!firstSwitch && Main.overview.workspaces) {
if (tab != this._tabs[0]) { if (tab != this._tabs[0]) {
Tweener.addTween(Main.overview.workspaces.actor, Tweener.addTween(Main.overview.workspaces.actor,
{ opacity: 0, { opacity: 0,