[gnome-shell] Make width of workspace switcher popup dynamic



commit b8a9eec14f1fbb29691320bbf3520a2b5e3ab134
Author: Mads Villadsen <maxx krakoa dk>
Date:   Tue Feb 16 22:34:57 2010 +0100

    Make width of workspace switcher popup dynamic
    
    Make the width of the workspace switcher dynamic in order to make it have the same proportions as the actual screen.
    
    Call redraw after adding indicator to stage to avoid warning.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=610049
    
    Signed-off-by: Adel Gadllah <adel gadllah gmail com>

 data/theme/gnome-shell.css      |    3 ---
 js/ui/workspaceSwitcherPopup.js |    8 ++++++--
 2 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css
index b2c816f..c8cd419 100644
--- a/data/theme/gnome-shell.css
+++ b/data/theme/gnome-shell.css
@@ -703,7 +703,6 @@ StTooltip {
 }
 
 .ws-switcher-active-left {
-    width: 98px;
     height: 98px;
     border: 0px;
     background: rgba(255,255,255,0.5);
@@ -712,7 +711,6 @@ StTooltip {
 }
 
 .ws-switcher-active-right {
-    width: 98px;
     height: 98px;
     border: 0px;
     background: rgba(255,255,255,0.5);
@@ -729,7 +727,6 @@ StTooltip {
 }
 
 .ws-switcher-box {
-    width: 96px;
     height: 96px;
     border: 2px solid rgba(85,85,85,0.5);
     background: transparent;
diff --git a/js/ui/workspaceSwitcherPopup.js b/js/ui/workspaceSwitcherPopup.js
index 655779c..31e380f 100644
--- a/js/ui/workspaceSwitcherPopup.js
+++ b/js/ui/workspaceSwitcherPopup.js
@@ -27,14 +27,17 @@ WorkspaceSwitcherPopup.prototype = {
                                          height: global.screen_height });
         global.stage.add_actor(this.actor);
 
+        this._scaleWidth = global.screen_width / global.screen_height;
+
         this._container = new St.BoxLayout({ style_class: "workspace-switcher-container" });
         this._list = new St.BoxLayout({ style_class: "workspace-switcher" });
 
-        this._redraw();
-
         this._container.add(this._list);
+
         this.actor.add_actor(this._container);
 
+        this._redraw();
+
         this._position();
 
         this.actor.show();
@@ -55,6 +58,7 @@ WorkspaceSwitcherPopup.prototype = {
                indicator = new St.Bin({ style_class: 'ws-switcher-box' });
 
            this._list.add(indicator);
+           indicator.set_width(Math.round(indicator.get_height() * this._scaleWidth));
 
            if (i < global.screen.n_workspaces - 1) {
                let spacer = new St.Bin({ style_class: 'ws-switcher-spacer' });



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