[gnome-shell] workspacesView: Derive workspace state from fit mode
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] workspacesView: Derive workspace state from fit mode
- Date: Wed, 3 Feb 2021 20:36:19 +0000 (UTC)
commit 1adcbaab46c879228ad8b34392b82f317d15cfde
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Fri Jan 1 13:10:19 2021 -0300
workspacesView: Derive workspace state from fit mode
Derive the workspace state WorkspacesView's workspaces from the fit mode.
Extra workspaces still run the zoom animations as before.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1613>
js/ui/workspace.js | 4 ++++
js/ui/workspacesView.js | 7 ++++---
2 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index 38218fc9bd..b37a7e39e2 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -1341,4 +1341,8 @@ class Workspace extends St.Widget {
return false;
}
+
+ get stateAdjustment() {
+ return this.layout_manager.stateAdjustment;
+ }
});
diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js
index ab8c78c5f6..7f8fb04dea 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -217,9 +217,12 @@ class WorkspacesView extends WorkspacesViewBase {
_updateWorkspacesState() {
const adj = this._scrollAdjustment;
+ const fitMode = this._fitModeAdjustment.value;
// Fade and scale inactive workspaces
this._workspaces.forEach((w, index) => {
+ w.stateAdjustment.value = Util.lerp(1, 0, fitMode);
+
const distanceToCurrentWorkspace = Math.abs(adj.value - index);
const progress = 1 - Math.clamp(distanceToCurrentWorkspace, 0, 1);
@@ -290,14 +293,12 @@ class WorkspacesView extends WorkspacesViewBase {
}
animateToOverview() {
- for (let w = 0; w < this._workspaces.length; w++)
- this._workspaces[w].zoomToOverview();
this._updateVisibility();
}
animateFromOverview() {
for (let w = 0; w < this._workspaces.length; w++)
- this._workspaces[w].zoomFromOverview();
+ this._workspaces[w].prepareToLeaveOverview();
}
syncStacking(stackIndices) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]