diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 91023d0..b10ab92 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -74,8 +74,6 @@
             android:clearTaskOnLaunch="true"
             android:stateNotNeeded="true"
             android:theme="@style/Theme"
-            android:screenOrientation="nosensor"
-            android:configChanges="orientation"
             android:windowSoftInputMode="stateUnspecified|adjustPan">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
diff --git a/res/drawable-xlarge/rotate_button.xml b/res/drawable-xlarge/rotate_button.xml
new file mode 100644
index 0000000..c29efa4
--- /dev/null
+++ b/res/drawable-xlarge/rotate_button.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true" android:drawable="@drawable/rotate_button_pressed" />
+    <item android:drawable="@drawable/rotate_button_normal" />
+</selector>
diff --git a/res/drawable-xlarge/rotate_button_normal.png b/res/drawable-xlarge/rotate_button_normal.png
new file mode 100644
index 0000000..fd014aa
--- /dev/null
+++ b/res/drawable-xlarge/rotate_button_normal.png
Binary files differ
diff --git a/res/drawable-xlarge/rotate_button_pressed.png b/res/drawable-xlarge/rotate_button_pressed.png
new file mode 100644
index 0000000..29fb8d9
--- /dev/null
+++ b/res/drawable-xlarge/rotate_button_pressed.png
Binary files differ
diff --git a/res/layout-xlarge/workspace_screen.xml b/res/layout-xlarge-land/workspace_screen.xml
similarity index 87%
rename from res/layout-xlarge/workspace_screen.xml
rename to res/layout-xlarge-land/workspace_screen.xml
index 6a34975..15fc3b1 100644
--- a/res/layout-xlarge/workspace_screen.xml
+++ b/res/layout-xlarge-land/workspace_screen.xml
@@ -24,7 +24,7 @@
 
     launcher:cellWidth="@dimen/workspace_cell_width"
     launcher:cellHeight="@dimen/workspace_cell_height"
-    launcher:yAxisStartPadding="8dip"
-    launcher:yAxisEndPadding="8dip"
-    launcher:xAxisStartPadding="8dip"
-    launcher:xAxisEndPadding="8dip"/>
+    launcher:yAxisStartPadding="40dip"
+    launcher:yAxisEndPadding="40dip"
+    launcher:xAxisStartPadding="256dip"
+    launcher:xAxisEndPadding="256dip" />
diff --git a/res/layout-xlarge/workspace_screen.xml b/res/layout-xlarge-port/workspace_screen.xml
similarity index 87%
copy from res/layout-xlarge/workspace_screen.xml
copy to res/layout-xlarge-port/workspace_screen.xml
index 6a34975..eb7620c 100644
--- a/res/layout-xlarge/workspace_screen.xml
+++ b/res/layout-xlarge-port/workspace_screen.xml
@@ -24,7 +24,7 @@
 
     launcher:cellWidth="@dimen/workspace_cell_width"
     launcher:cellHeight="@dimen/workspace_cell_height"
-    launcher:yAxisStartPadding="8dip"
-    launcher:yAxisEndPadding="8dip"
-    launcher:xAxisStartPadding="8dip"
-    launcher:xAxisEndPadding="8dip"/>
+    launcher:yAxisStartPadding="172dip"
+    launcher:yAxisEndPadding="172dip"
+    launcher:xAxisStartPadding="40dip"
+    launcher:xAxisEndPadding="40dip"/>
diff --git a/res/layout-xlarge/launcher.xml b/res/layout-xlarge/launcher.xml
index 6eb9318..a1879ef 100644
--- a/res/layout-xlarge/launcher.xml
+++ b/res/layout-xlarge/launcher.xml
@@ -36,7 +36,7 @@
         android:layout_height="match_parent"
         launcher:defaultScreen="2"
         launcher:cellCountX="8"
-        launcher:cellCountY="4">
+        launcher:cellCountY="7">
 
         <include android:id="@+id/cell1" layout="@layout/workspace_screen" />
         <include android:id="@+id/cell2" layout="@layout/workspace_screen" />
@@ -45,21 +45,39 @@
         <include android:id="@+id/cell5" layout="@layout/workspace_screen" />
     </com.android.launcher2.Workspace>
 
-    <ImageView
-        android:id="@+id/search_button"
+    <RelativeLayout
+        android:id="@+id/search_button_cluster"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:src="@drawable/search_button"
+        android:layout_gravity="top|left">
 
-        android:onClick="onClickSearchButton"
-        android:focusable="true"
-        android:clickable="true"
-        android:layout_gravity="top|left"/>
+        <ImageView
+            android:id="@+id/search_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/search_button"
+
+            android:onClick="onClickSearchButton"
+            android:focusable="true"
+            android:clickable="true"/>
+        <ImageView
+            android:id="@+id/rotate_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/rotate_button"
+
+            android:onClick="onClickRotateButton"
+            android:focusable="true"
+            android:clickable="true"
+            android:layout_toRightOf="@id/search_button" />
+    </RelativeLayout>
+
     <RelativeLayout
         android:id="@+id/all_apps_button_cluster"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="top|right">
+
         <ImageView
             android:id="@+id/configure_button"
             android:layout_width="wrap_content"
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 008b636..d7ce6f2 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -1625,6 +1625,19 @@
     }
 
     /**
+     * Temporary: to allow us to test rotation in the launcher.
+     *
+     * @param v The view that was clicked.
+     */
+    public void onClickRotateButton(View v) {
+        // TODO: this method is temporary. Remove it.
+            setRequestedOrientation(
+                (getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
+                    ? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
+                    : ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+    }
+
+    /**
      * Event handler for the "grid" button that appears on the home screen, which
      * enters all apps mode.
      *
