[gnome-shell] workspacesView: Center workspaces of primary display



commit eb4f6740c3c8af8958b493563d571ee65a895865
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Fri Dec 11 15:57:49 2020 -0300

    workspacesView: Center workspaces of primary display
    
    Currently workspaces are left-aligned to the allocation, which looks
    odd after moving the Dash to the bottom.
    
    Allocate workspaces centered both horizontally and vertically.
    
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1587>

 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 c57129e508..865b52b502 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -114,14 +114,17 @@ class WorkspacesView extends WorkspacesViewBase {
         const vertical = workspaceManager.layout_rows === -1;
         const rtl = this.text_direction === Clutter.TextDirection.RTL;
 
+        const [width, height] = box.get_size();
+        const childBox = box.copy();
+
         this._workspaces.forEach((child, index) => {
             if (rtl && !vertical)
                 index = nWorkspaces - index - 1;
 
-            const x = vertical ? 0 : index * this.width;
-            const y = vertical ? index * this.height : 0;
-
-            child.allocate_available_size(x, y, box.get_width(), box.get_height());
+            childBox.set_origin(
+                vertical ? 0 : index * width,
+                vertical ? index * height : 0);
+            child.allocate_align_fill(childBox, 0.5, 0.5, false, false);
         });
 
         this._updateScrollPosition();


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]