[gnome-shell/eos3.8: 16/255] bottomPanel: Move the top panel to the bottom



commit abc3bde5dd48e3c58e575006e36268ca69c8d5b0
Author: Mario Sanchez Prada <mario endlessm com>
Date:   Mon Jan 29 18:35:15 2018 +0000

    bottomPanel: Move the top panel to the bottom
    
    Also, make sure that the necessary adjustments are made as well:
    
      * Update the panel barrier's position.
      * Properly set the location of the arrow for popup menus.
      * Properly place the ghost panel at the bottom, used to account
        for the space of the real panel when showing the window picker.
      * Adjust calculations for making the bottom panel transparent/solid.
    
    https://phabricator.endlessm.com/T681
    https://phabricator.endlessm.com/T17662

 data/theme/gnome-shell-sass/_endless.scss |  9 +++++++++
 js/ui/layout.js                           |  4 +++-
 js/ui/overview.js                         | 18 +++++++++---------
 js/ui/panelMenu.js                        |  2 +-
 4 files changed, 22 insertions(+), 11 deletions(-)
---
diff --git a/data/theme/gnome-shell-sass/_endless.scss b/data/theme/gnome-shell-sass/_endless.scss
index b5daac4a97..c028dd563e 100644
--- a/data/theme/gnome-shell-sass/_endless.scss
+++ b/data/theme/gnome-shell-sass/_endless.scss
@@ -58,3 +58,12 @@
         }
     }
 }
+
+// Bottom panel
+
+.popup-menu {
+    &.panel-menu {
+        -boxpointer-gap: 0px;
+        margin-bottom: 0px;
+    }
+}
diff --git a/js/ui/layout.js b/js/ui/layout.js
index f688fa2441..519e2ac3ce 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -501,7 +501,7 @@ var LayoutManager = GObject.registerClass({
         if (!this.primaryMonitor)
             return;
 
-        this.panelBox.set_position(this.primaryMonitor.x, this.primaryMonitor.y);
+        this.panelBox.set_position(this.primaryMonitor.x, this.primaryMonitor.y + this.primaryMonitor.height 
- this.panelBox.height);
         this.panelBox.set_size(this.primaryMonitor.width, -1);
 
         this.keyboardIndex = this.primaryIndex;
@@ -533,6 +533,8 @@ var LayoutManager = GObject.registerClass({
                                                          x1: primary.x + primary.width, y1: primary.y,
                                                          x2: primary.x + primary.width, y2: primary.y + 
this.panelBox.height,
                                                          directions: Meta.BarrierDirection.NEGATIVE_X });
+
+            this.panelBox.set_position(this.primaryMonitor.x, this.primaryMonitor.y + 
this.primaryMonitor.height - this.panelBox.height);
         }
     }
 
diff --git a/js/ui/overview.js b/js/ui/overview.js
index 2e6b93da69..8101327e85 100644
--- a/js/ui/overview.js
+++ b/js/ui/overview.js
@@ -89,15 +89,6 @@ class OverviewActor extends St.BoxLayout {
 
         this.add_constraint(new LayoutManager.MonitorConstraint({ primary: true }));
 
-        // Add a clone of the panel to the overview so spacing and such is
-        // automatic
-        let panelGhost = new St.Bin({
-            child: new Clutter.Clone({ source: Main.panel }),
-            reactive: false,
-            opacity: 0,
-        });
-        this.add_actor(panelGhost);
-
         this._searchEntry = new St.Entry({
             style_class: 'search-entry',
             /* Translators: this is the text displayed
@@ -119,6 +110,15 @@ class OverviewActor extends St.BoxLayout {
 
         // Add our same-line elements after the search entry
         this.add_child(this._controls);
+
+        // Add a clone of the panel to the overview so spacing and such is
+        // automatic
+        let panelGhost = new St.Bin({
+            child: new Clutter.Clone({ source: Main.panel }),
+            reactive: false,
+            opacity: 0,
+        });
+        this.add_actor(panelGhost);
     }
 
     get dash() {
diff --git a/js/ui/panelMenu.js b/js/ui/panelMenu.js
index a5b0896c4f..7a3eed7077 100644
--- a/js/ui/panelMenu.js
+++ b/js/ui/panelMenu.js
@@ -105,7 +105,7 @@ var Button = GObject.registerClass({
         if (dontCreateMenu)
             this.menu = new PopupMenu.PopupDummyMenu(this);
         else
-            this.setMenu(new PopupMenu.PopupMenu(this, menuAlignment, St.Side.TOP, 0));
+            this.setMenu(new PopupMenu.PopupMenu(this, menuAlignment, St.Side.BOTTOM, 0));
     }
 
     setSensitive(sensitive) {


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