--- panel.js	2011-04-29 17:12:36.780510999 +0100
+++ panel.js	2011-04-29 17:12:07.940511000 +0100
@@ -23,8 +23,10 @@
 const Tweener = imports.ui.tweener;
 
 const PANEL_ICON_SIZE = 24;
+const PANEL_HEIGHT = 25;
 
 const STARTUP_ANIMATION_TIME = 0.2;
+const AUTOHIDE_ANIMATION_TIME = 0.2;
 
 const HOT_CORNER_ACTIVATION_TIMEOUT = 0.5;
 
@@ -996,9 +998,11 @@
         // and to be released when it is exited regardless of how it was triggered.
         Main.overview.connect('showing', Lang.bind(this, function() {
             this.button.checked = true;
+            this._showPanel();
         }));
-        Main.overview.connect('hiding', Lang.bind(this, function() {
+        Main.overview.connect('hidden', Lang.bind(this, function() {
             this.button.checked = false;
+            this._hidePanel();
         }));
 
         Main.chrome.addActor(this.actor, { visibleInOverview: true });
@@ -1011,6 +1015,9 @@
 
         Main.ctrlAltTabManager.addGroup(this.actor, _("Top Bar"), 'start-here',
                                         { sortGroup: CtrlAltTab.SortGroup.TOP });
+
+        this.actor.connect('leave-event', Lang.bind(this, this._hidePanel));
+        this.actor.connect('enter-event', Lang.bind(this, this._showPanel));
     },
 
     _xdndShowOverview: function (actor) {
@@ -1142,4 +1149,36 @@
             this._trayBox.remove_actor(icon);
     },
 
+    _hidePanel: function() {
+        if(!Main.overview.visible)
+        {
+            Tweener.addTween(this.actor,
+                         { height: 1,
+                           time: AUTOHIDE_ANIMATION_TIME,
+                           transition: 'easeOutQuad'
+                         });
+
+            Tweener.addTween(this._boxContainer,
+                         { opacity: 0,
+                           time: AUTOHIDE_ANIMATION_TIME,
+                           transition: 'easeOutQuad'
+                         });
+        }
+
+    },
+
+    _showPanel: function() {
+            Tweener.addTween(this.actor,
+                         { height: PANEL_HEIGHT,
+                           time: AUTOHIDE_ANIMATION_TIME,
+                           transition: 'easeOutQuad'
+                         });
+
+            Tweener.addTween(this._boxContainer,
+                         { opacity: 255,
+                           time: AUTOHIDE_ANIMATION_TIME+0.2,
+                           transition: 'easeOutQuad'
+                         });
+    },
+
 };
