[gnome-shell] workspacesView: Center extra workspace
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] workspacesView: Center extra workspace
- Date: Tue, 2 Mar 2021 22:02:18 +0000 (UTC)
commit 40121bbe4b6534bf1efb12ea8a9cd56b968af7aa
Author: Florian Müllner <fmuellner gnome org>
Date: Sat Feb 20 13:33:29 2021 +0100
workspacesView: Center extra workspace
At the moment views on non-primary monitors take up the entire work area,
so simply allocating the available size works. However we'll soon shrink
the views a bit to match the visuals on the primary monitor. As workspaces
keep the ratio, reducing their height will also reduce the width; override
the default allocate() to keep the extra workspace horizontally centered.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1735>
js/ui/workspacesView.js | 12 ++++++++++++
1 file changed, 12 insertions(+)
---
diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js
index fb9eafb0a8..b65d887245 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -560,6 +560,18 @@ class ExtraWorkspaceView extends WorkspacesViewBase {
this._workspace.stateAdjustment.value = progress;
}
+ vfunc_allocate(box) {
+ this.set_allocation(box);
+
+ const [width, height] = box.get_size();
+ const [, childWidth] = this._workspace.get_preferred_width(height);
+
+ const childBox = new Clutter.ActorBox();
+ childBox.set_origin(Math.round((width - childWidth) / 2), 0);
+ childBox.set_size(childWidth, height);
+ this._workspace.allocate(childBox);
+ }
+
getActiveWorkspace() {
return this._workspace;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]