Index: misc/contextual_links.css
===================================================================
RCS file: /cvs/drupal/drupal/misc/contextual_links.css,v
retrieving revision 1.1
diff -u -p -r1.1 contextual_links.css
--- misc/contextual_links.css	17 Oct 2009 05:50:27 -0000	1.1
+++ misc/contextual_links.css	30 Nov 2009 00:52:28 -0000
@@ -8,31 +8,51 @@
   position: relative;
 }
 .contextual-links-region-active {
-  outline: #000 dashed 1px;
+  outline: #999 dashed 1px;
 }
 
 /**
  * Contextual links.
  */
-ul.contextual-links {
+div.contextual-links-wrapper {
+  display: none;
   float: right;
   font-size: 90%;
+  position: relative;
+}
+html.js div.contextual-links-wrapper {
+  display: block;
+}
+a.contextual-links-trigger {
+  background: transparent url(arrow-asc.png) no-repeat;
+  display: none;
+  height: 13px;
+  overflow: hidden;
+  text-indent: 13px;
+  width: 13px;
+}
+.contextual-links-region:hover a.contextual-links-trigger {
+  display: block;
+}
+div.contextual-links-wrapper ul.contextual-links {
+  background: #fff none;
   margin: 0;
   padding: 0;
+  position: absolute;
+  right: 0;
+  top: 13px;
+  white-space: nowrap;
 }
 ul.contextual-links li {
-  border-left: 1px solid #ccc;
-  display: inline;
   line-height: 100%;
   list-style: none;
-  margin: 0 0 0 0.3em;
-  padding: 0 0 0 0.6em;
-}
-ul.contextual-links li.first {
-  border-left: 0;
   margin: 0;
   padding: 0;
 }
-ul.contextual-links li a {
+div.contextual-links-wrapper a {
   text-decoration: none;
 }
+ul.contextual-links li a {
+  display: block;
+  padding: 0.3em;
+}
Index: misc/contextual_links.js
===================================================================
RCS file: /cvs/drupal/drupal/misc/contextual_links.js,v
retrieving revision 1.1
diff -u -p -r1.1 contextual_links.js
--- misc/contextual_links.js	17 Oct 2009 05:50:27 -0000	1.1
+++ misc/contextual_links.js	30 Nov 2009 01:02:39 -0000
@@ -8,8 +8,11 @@ Drupal.contextualLinks = Drupal.contextu
  */
 Drupal.behaviors.contextualLinks = {
   attach: function (context) {
-    $('ul.contextual-links', context).once('contextual-links', function () {
-      $(this).hover(Drupal.contextualLinks.hover, Drupal.contextualLinks.hoverOut);
+    $('div.contextual-links-wrapper', context).once('contextual-links', function () {
+      var $trigger = $('<a class="contextual-links-trigger" href="javascript:void(0);">' + Drupal.t('Configure') + '</a>');
+      $(this).prepend($trigger)
+        .hover(Drupal.contextualLinks.hover, Drupal.contextualLinks.hoverOut)
+        .find('ul.contextual-links').hide();
     });
   }
 };
@@ -18,7 +21,8 @@ Drupal.behaviors.contextualLinks = {
  * Enables outline for the region contextual links are associated with.
  */
 Drupal.contextualLinks.hover = function () {
-  $(this).addClass('contextual-links-link-active')
+  $(this).addClass('contextual-links-active')
+    .find('ul.contextual-links').slideDown(100).end()
     .closest('.contextual-links-region').addClass('contextual-links-region-active');
 };
 
@@ -26,7 +30,8 @@ Drupal.contextualLinks.hover = function 
  * Disables outline for the region contextual links are associated with.
  */
 Drupal.contextualLinks.hoverOut = function () {
-  $(this).removeClass('contextual-links-link-active')
+  $(this).removeClass('contextual-links-active')
+    .find('ul.contextual-links').slideUp(100).end()
     .closest('.contextual-links-region').removeClass('contextual-links-region-active');
 };
 
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.845
diff -u -p -r1.845 system.module
--- modules/system/system.module	28 Nov 2009 09:36:41 -0000	1.845
+++ modules/system/system.module	29 Nov 2009 22:58:15 -0000
@@ -3621,6 +3621,8 @@ function system_build_contextual_links($
   $build = array();
   if ($links) {
     $build = array(
+      '#prefix' => '<div class="contextual-links-wrapper">',
+      '#suffix' => '</div>',
       '#theme' => 'links',
       '#links' => $links,
       '#attributes' => array('class' => array('contextual-links')),
Index: themes/garland/style.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/style.css,v
retrieving revision 1.68
diff -u -p -r1.68 style.css
--- themes/garland/style.css	22 Nov 2009 03:25:42 -0000	1.68
+++ themes/garland/style.css	29 Nov 2009 23:00:21 -0000
@@ -841,17 +841,6 @@ tr.even td.menu-disabled {
 }
 
 /**
- * Contextual links.
- */
-.contextual-links-region-active {
-  outline: #027AC6 dashed 1px;
-}
-.block ul.contextual-links {
-  margin: 0;
-  padding: 0;
-}
-
-/**
  * Collapsible fieldsets
  */
 fieldset {
