--- data/theme/gnome-shell.css	2011-11-10 18:51:47.177112583 +0100
+++ /usr/share/gnome-shell/theme/gnome-shell.css	2011-11-12 22:57:41.608252198 +0100
@@ -85,7 +85,7 @@
     padding: 2px 12px;
     background-color: rgba(0,0,0,0.9);
     color: #ffffff;
-    font-size: 0.8em;
+    font-size: 1em;
     font-weight: normal;
     text-align: center;
 }
@@ -470,7 +470,7 @@
     background: rgba(0,0,0,0.8);
     border: 1px solid rgba(128,128,128,0.40);
     border-radius: 10px;
-    font-size: 9pt;
+    font-size: 10.5pt;
     padding: 2px 8px;
     -shell-caption-spacing: 4px;
 }
@@ -602,7 +602,8 @@
     padding: 4px 12px;
     spacing: 4px;
     color: #6f6f6f;
-    font-size: .8em;
+    font-size: 10.5pt;
+    font-weight: bold;
 }
 
 .search-section-results {
@@ -648,7 +649,7 @@
 
 .icon-grid {
     spacing: 36px;
-    -shell-grid-item-size: 118px;
+    -shell-grid-item-size: 142px;
 }
 
 .contact-grid {
@@ -716,7 +717,7 @@
     border-radius: 4px;
     padding: 3px;
     border: 1px rgba(0,0,0,0);
-    font-size: 7.5pt;
+    font-size: 10.5pt;
     color: white;
     transition-duration: 100;
     text-align: center;
@@ -793,7 +794,6 @@
 }
 
 .app-well-menu {
-    font-size: 9pt;
 }
 
 /* LookingGlass */
@@ -1481,7 +1481,7 @@
     border-radius: 24px;
     padding: 20px;
 
-    font-size: 9pt;
+    font-size: 10.5pt;
     color: white;
 }
 
--- js/ui/iconGrid.js	2011-11-10 18:51:16.587820831 +0100
+++ /usr/share/gnome-shell/js/ui/iconGrid.js	2011-11-12 23:16:03.329422655 +0100
@@ -3,6 +3,7 @@
 const Clutter = imports.gi.Clutter;
 const Shell = imports.gi.Shell;
 const St = imports.gi.St;
+const Pango = imports.gi.Pango;
 
 const Lang = imports.lang;
 const Params = imports.misc.params;
@@ -43,6 +44,9 @@
 
         if (params.showLabel) {
             this.label = new St.Label({ text: label });
+            this.label.clutter_text.line_wrap = true;
+            this.label.clutter_text.line_wrap_mode = Pango.WrapMode.WORD_CHAR;
+            this.label.clutter_text.ellipsize = Pango.EllipsizeMode.END;
             box.add_actor(this.label);
         } else {
             this.label = null;
@@ -68,7 +72,12 @@
         let childBox = new Clutter.ActorBox();
 
         if (this.label) {
-            let [labelMinHeight, labelNatHeight] = this.label.get_preferred_height(-1);
+            // In order to support multiple lines and ellipsing, we consider
+            // the minimum space for the label to be whatever is left after
+            // the icon has taken what it wants.
+            let labelMinHeight = availHeight - preferredHeight - this._spacing;
+            let [dummy, labelNatHeight] = this.label.get_preferred_height(availWidth);
+
             preferredHeight += this._spacing + labelNatHeight;
 
             let labelHeight = availHeight >= preferredHeight ? labelNatHeight
