diff --git a/res/drawable-land/spinner_dropdown_background_down.9.png b/res/drawable-land/spinner_dropdown_background_down.9.png
new file mode 100644
index 0000000..bb64b78
--- /dev/null
+++ b/res/drawable-land/spinner_dropdown_background_down.9.png
Binary files differ
diff --git a/res/drawable-land/spinner_dropdown_background_up.9.png b/res/drawable-land/spinner_dropdown_background_up.9.png
new file mode 100644
index 0000000..c0e2a66
--- /dev/null
+++ b/res/drawable-land/spinner_dropdown_background_up.9.png
Binary files differ
diff --git a/res/drawable/spinner_dropdown_background.xml b/res/drawable/spinner_dropdown_background.xml
new file mode 100644
index 0000000..9c37286
--- /dev/null
+++ b/res/drawable/spinner_dropdown_background.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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_above_anchor="true"
+        android:drawable="@drawable/spinner_dropdown_background_up" />
+    <item android:drawable="@drawable/spinner_dropdown_background_down" />
+</selector>
+
diff --git a/res/drawable/spinner_dropdown_background_down.9.png b/res/drawable/spinner_dropdown_background_down.9.png
new file mode 100644
index 0000000..9cb5556
--- /dev/null
+++ b/res/drawable/spinner_dropdown_background_down.9.png
Binary files differ
diff --git a/res/drawable/spinner_dropdown_background_up.9.png b/res/drawable/spinner_dropdown_background_up.9.png
new file mode 100644
index 0000000..5c93f78
--- /dev/null
+++ b/res/drawable/spinner_dropdown_background_up.9.png
Binary files differ
diff --git a/res/layout/widget_search.xml b/res/layout/widget_search.xml
index b4c455c..1db8488 100644
--- a/res/layout/widget_search.xml
+++ b/res/layout/widget_search.xml
@@ -42,20 +42,24 @@
         android:inputType="textAutoComplete"
         android:imeOptions="actionSearch"
         android:lines="1"
+        android:dropDownWidth="fill_parent"
+        android:popupBackground="@drawable/spinner_dropdown_background"
         />
         
      <ImageButton android:id="@+id/search_go_btn"
-         android:layout_marginLeft="4dip"
+         android:layout_marginLeft="5dip"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:src="@*android:drawable/ic_btn_search"
+         style="@style/SearchButton"
          />
     
      <ImageButton android:id="@+id/search_voice_btn"
-         android:layout_marginLeft="2dip"
+         android:layout_marginLeft="4dip"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:src="@android:drawable/ic_btn_speak_now"
+         style="@style/SearchButton"
          />
 
 </com.android.launcher.Search>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index ecf6792..7832ceb 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -27,19 +27,19 @@
     <string name="cancel_action">"Zrušit"</string>
     <string name="menu_item_add_item">"Přidat na plochu"</string>
     <string name="group_applications">"Aplikace"</string>
-    <string name="group_shortcuts">"Zástupce"</string>
+    <string name="group_shortcuts">"Klávesové zkratky"</string>
     <string name="group_search">"Hledat"</string>
-    <string name="group_folder">"Složka"</string>
-    <string name="group_live_folders">"Složka Live"</string>
-    <string name="group_widgets">"Miniaplikace"</string>
-    <string name="group_wallpapers">"Tapeta"</string>
+    <string name="group_folder">"Nová složka"</string>
+    <string name="group_live_folders">"Složky"</string>
+    <string name="group_widgets">"Widgety"</string>
+    <string name="group_wallpapers">"Tapety"</string>
     <string name="add_folder">"Složka"</string>
     <string name="add_clock">"Hodiny"</string>
     <string name="add_photo_frame">"Rámeček fotografie"</string>
     <string name="add_search">"Vyhledávání"</string>
     <string name="out_of_space">"Na této ploše již není místo."</string>
     <string name="title_select_shortcut">"Vyberte zástupce"</string>
-    <string name="title_select_live_folder">"Vyberte složku Live"</string>
+    <string name="title_select_live_folder">"Vybrat složku"</string>
     <string name="menu_add">"Přidat"</string>
     <string name="menu_wallpaper">"Tapeta"</string>
     <string name="menu_search">"Hledat"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index ca07fc6..9b39946 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -25,21 +25,21 @@
     <string name="rename_folder_title">"Ordner umbenennen"</string>
     <string name="rename_action">"OK"</string>
     <string name="cancel_action">"Abbrechen"</string>
-    <string name="menu_item_add_item">"Zur Startseite hinzufügen"</string>
-    <string name="group_applications">"Anwendung"</string>
-    <string name="group_shortcuts">"Verknüpfung"</string>
+    <string name="menu_item_add_item">"Zum Startbildschirm hinzufügen"</string>
+    <string name="group_applications">"Anwendungen"</string>
+    <string name="group_shortcuts">"Verknüpfungen"</string>
     <string name="group_search">"Suchen"</string>
-    <string name="group_folder">"Ordner"</string>
-    <string name="group_live_folders">"Live-Ordner"</string>
-    <string name="group_widgets">"Widget"</string>
-    <string name="group_wallpapers">"Hintergrund"</string>
+    <string name="group_folder">"Neuer Ordner"</string>
+    <string name="group_live_folders">"Ordner"</string>
+    <string name="group_widgets">"Widgets"</string>
+    <string name="group_wallpapers">"Hintergrundbilder"</string>
     <string name="add_folder">"Ordner"</string>
     <string name="add_clock">"Uhr"</string>
     <string name="add_photo_frame">"Bildrahmen"</string>
     <string name="add_search">"Suchen"</string>
-    <string name="out_of_space">"Auf der Startseite ist kein Platz mehr vorhanden."</string>
+    <string name="out_of_space">"Auf dem Startbildschirm ist kein Platz mehr vorhanden."</string>
     <string name="title_select_shortcut">"Tastenkürzel auswählen"</string>
-    <string name="title_select_live_folder">"Live-Ordner auswählen"</string>
+    <string name="title_select_live_folder">"Ordner auswählen"</string>
     <string name="menu_add">"Hinzufügen"</string>
     <string name="menu_wallpaper">"Hintergrund"</string>
     <string name="menu_search">"Suchen"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index ecfdd98..2c73c88 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -19,27 +19,27 @@
     <string name="folder_name">"Carpeta"</string>
     <string name="chooser_wallpaper">"Seleccionar fondo de pantalla de"</string>
     <string name="wallpaper_instructions">"Establecer fondo de pantalla"</string>
-    <string name="pick_wallpaper">"Galería de fondo de pantalla"</string>
+    <string name="pick_wallpaper">"Galería de fondos de pantalla"</string>
     <string name="activity_not_found">"La aplicación no está instalada en el teléfono."</string>
     <string name="rename_folder_label">"Nombre de carpeta"</string>
     <string name="rename_folder_title">"Cambiar nombre de carpeta"</string>
     <string name="rename_action">"Aceptar"</string>
     <string name="cancel_action">"Cancelar"</string>
     <string name="menu_item_add_item">"Añadir a pantalla de página principal"</string>
-    <string name="group_applications">"Aplicación"</string>
-    <string name="group_shortcuts">"Acceso directo"</string>
+    <string name="group_applications">"Aplicaciones"</string>
+    <string name="group_shortcuts">"Accesos directos"</string>
     <string name="group_search">"Búsqueda"</string>
-    <string name="group_folder">"Carpeta"</string>
-    <string name="group_live_folders">"Carpeta activa"</string>
-    <string name="group_widgets">"Widget"</string>
-    <string name="group_wallpapers">"Fondo de pantalla"</string>
+    <string name="group_folder">"Nueva carpeta"</string>
+    <string name="group_live_folders">"Carpetas"</string>
+    <string name="group_widgets">"Widgets"</string>
+    <string name="group_wallpapers">"Fondos de pantalla"</string>
     <string name="add_folder">"Carpeta"</string>
     <string name="add_clock">"Reloj"</string>
     <string name="add_photo_frame">"Picture frame"</string>
     <string name="add_search">"Búsqueda de Google"</string>
     <string name="out_of_space">"No queda espacio en esta pantalla de página principal."</string>
     <string name="title_select_shortcut">"Seleccionar acceso directo"</string>
-    <string name="title_select_live_folder">"Seleccionar carpeta activa"</string>
+    <string name="title_select_live_folder">"Seleccionar carpeta"</string>
     <string name="menu_add">"Añadir"</string>
     <string name="menu_wallpaper">"Fondo de pantalla"</string>
     <string name="menu_search">"Buscar con Google"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 203c37b..7558565 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -26,20 +26,20 @@
     <string name="rename_action">"OK"</string>
     <string name="cancel_action">"Annuler"</string>
     <string name="menu_item_add_item">"Ajouter à l\'écran d\'accueil"</string>
-    <string name="group_applications">"Application"</string>
-    <string name="group_shortcuts">"Raccourci"</string>
+    <string name="group_applications">"Applications"</string>
+    <string name="group_shortcuts">"Raccourcis"</string>
     <string name="group_search">"Recherche"</string>
-    <string name="group_folder">"Dossier"</string>
-    <string name="group_live_folders">"Dossier actif"</string>
-    <string name="group_widgets">"Widget"</string>
-    <string name="group_wallpapers">"Arrière-plan"</string>
+    <string name="group_folder">"Nouveau dossier"</string>
+    <string name="group_live_folders">"Dossiers"</string>
+    <string name="group_widgets">"Widgets"</string>
+    <string name="group_wallpapers">"Fonds d\'écran"</string>
     <string name="add_folder">"Dossier"</string>
     <string name="add_clock">"Horloge"</string>
     <string name="add_photo_frame">"Cadre d\'image"</string>
     <string name="add_search">"Rechercher"</string>
     <string name="out_of_space">"Plus d\'espace libre sur l\'écran d\'accueil."</string>
     <string name="title_select_shortcut">"Sélectionner un raccourci"</string>
-    <string name="title_select_live_folder">"Sélectionner dossier actif"</string>
+    <string name="title_select_live_folder">"Sélectionner le dossier"</string>
     <string name="menu_add">"Ajouter"</string>
     <string name="menu_wallpaper">"Arrière-plan"</string>
     <string name="menu_search">"Rechercher"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index c061ce7..135df4c 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -26,20 +26,20 @@
     <string name="rename_action">"OK"</string>
     <string name="cancel_action">"Annulla"</string>
     <string name="menu_item_add_item">"Aggiungi a schermata Home"</string>
-    <string name="group_applications">"Applicazione"</string>
-    <string name="group_shortcuts">"Scorciatoia"</string>
+    <string name="group_applications">"Applicazioni"</string>
+    <string name="group_shortcuts">"Collegamenti"</string>
     <string name="group_search">"Ricerca"</string>
-    <string name="group_folder">"Cartella"</string>
-    <string name="group_live_folders">"Cartella dinamica"</string>
+    <string name="group_folder">"Nuova cartella"</string>
+    <string name="group_live_folders">"Cartelle"</string>
     <string name="group_widgets">"Widget"</string>
-    <string name="group_wallpapers">"Sfondo"</string>
+    <string name="group_wallpapers">"Sfondi"</string>
     <string name="add_folder">"Cartella"</string>
     <string name="add_clock">"Orologio"</string>
     <string name="add_photo_frame">"Cornice immagini"</string>
     <string name="add_search">"Ricerca"</string>
     <string name="out_of_space">"Spazio nella schermata Home esaurito."</string>
     <string name="title_select_shortcut">"Seleziona collegamento"</string>
-    <string name="title_select_live_folder">"Seleziona cartella dinamica"</string>
+    <string name="title_select_live_folder">"Seleziona cartella"</string>
     <string name="menu_add">"Aggiungi"</string>
     <string name="menu_wallpaper">"Sfondo"</string>
     <string name="menu_search">"Cerca"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index ccde597..8c43e52 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -26,27 +26,20 @@
     <string name="rename_action">"OK"</string>
     <string name="cancel_action">"キャンセル"</string>
     <string name="menu_item_add_item">"ホーム画面に追加"</string>
-    <!-- no translation found for group_applications (4118484163419674240) -->
-    <skip />
-    <!-- no translation found for group_shortcuts (9133529424900391877) -->
-    <skip />
+    <string name="group_applications">"アプリケーション"</string>
+    <string name="group_shortcuts">"ショートカット"</string>
     <string name="group_search">"検索"</string>
-    <!-- no translation found for group_folder (5143593791798929193) -->
-    <skip />
-    <!-- no translation found for group_live_folders (2664945399140647217) -->
-    <skip />
-    <!-- no translation found for group_widgets (6704978494073105844) -->
-    <skip />
-    <!-- no translation found for group_wallpapers (1568191644272224858) -->
-    <skip />
+    <string name="group_folder">"新しいフォルダ"</string>
+    <string name="group_live_folders">"フォルダ"</string>
+    <string name="group_widgets">"ウィジェット"</string>
+    <string name="group_wallpapers">"壁紙"</string>
     <string name="add_folder">"フォルダ"</string>
     <string name="add_clock">"時計"</string>
     <string name="add_photo_frame">"写真フレーム"</string>
     <string name="add_search">"検索"</string>
     <string name="out_of_space">"ホーム画面に空きスペースがありません。"</string>
     <string name="title_select_shortcut">"ショートカットを選択"</string>
-    <!-- no translation found for title_select_live_folder (3753447798805166749) -->
-    <skip />
+    <string name="title_select_live_folder">"フォルダの選択"</string>
     <string name="menu_add">"追加"</string>
     <string name="menu_wallpaper">"壁紙"</string>
     <string name="menu_search">"検索"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 52c7df5..37ba73c 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -29,8 +29,8 @@
     <string name="group_applications">"응용프로그램"</string>
     <string name="group_shortcuts">"바로가기"</string>
     <string name="group_search">"검색"</string>
-    <string name="group_folder">"폴더"</string>
-    <string name="group_live_folders">"라이브 폴더"</string>
+    <string name="group_folder">"새 폴더"</string>
+    <string name="group_live_folders">"폴더"</string>
     <string name="group_widgets">"위젯"</string>
     <string name="group_wallpapers">"배경화면"</string>
     <string name="add_folder">"폴더"</string>
@@ -39,7 +39,7 @@
     <string name="add_search">"검색"</string>
     <string name="out_of_space">"홈 화면에 더 이상 공간이 없습니다."</string>
     <string name="title_select_shortcut">"바로가기 선택"</string>
-    <string name="title_select_live_folder">"라이브 폴더 선택"</string>
+    <string name="title_select_live_folder">"폴더 선택"</string>
     <string name="menu_add">"추가"</string>
     <string name="menu_wallpaper">"배경화면"</string>
     <string name="menu_search">"검색"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 8fdb342..954b5d7 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -26,20 +26,27 @@
     <string name="rename_action">"OK"</string>
     <string name="cancel_action">"Avbryt"</string>
     <string name="menu_item_add_item">"Legg til skrivebord"</string>
-    <string name="group_applications">"Applikasjon"</string>
-    <string name="group_shortcuts">"Snarvei"</string>
+    <!-- no translation found for group_applications (4118484163419674240) -->
+    <skip />
+    <!-- no translation found for group_shortcuts (9133529424900391877) -->
+    <skip />
     <string name="group_search">"Søk"</string>
-    <string name="group_folder">"Mappe"</string>
-    <string name="group_live_folders">"Aktiv mappe"</string>
-    <string name="group_widgets">"Skrivebordselement"</string>
-    <string name="group_wallpapers">"Bakgrunnsbilde"</string>
+    <!-- no translation found for group_folder (5143593791798929193) -->
+    <skip />
+    <!-- no translation found for group_live_folders (2664945399140647217) -->
+    <skip />
+    <!-- no translation found for group_widgets (6704978494073105844) -->
+    <skip />
+    <!-- no translation found for group_wallpapers (1568191644272224858) -->
+    <skip />
     <string name="add_folder">"Mappe"</string>
     <string name="add_clock">"Klokke"</string>
     <string name="add_photo_frame">"Bilderamme"</string>
     <string name="add_search">"Søk"</string>
     <string name="out_of_space">"Ikke nok plass på skrivebordet."</string>
     <string name="title_select_shortcut">"Velg snarvei"</string>
-    <string name="title_select_live_folder">"Velg aktiv mappe"</string>
+    <!-- no translation found for title_select_live_folder (3753447798805166749) -->
+    <skip />
     <string name="menu_add">"Legg til"</string>
     <string name="menu_wallpaper">"Bakgrunnsbilde"</string>
     <string name="menu_search">"Søk"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 1a07fa6..9a37fed 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -26,20 +26,20 @@
     <string name="rename_action">"OK"</string>
     <string name="cancel_action">"Annuleren"</string>
     <string name="menu_item_add_item">"Toevoegen aan startpagina"</string>
-    <string name="group_applications">"Toepassing"</string>
-    <string name="group_shortcuts">"Snelkoppeling"</string>
+    <string name="group_applications">"Toepassingen"</string>
+    <string name="group_shortcuts">"Sneltoetsen"</string>
     <string name="group_search">"Zoeken"</string>
-    <string name="group_folder">"Map"</string>
-    <string name="group_live_folders">"Live map"</string>
-    <string name="group_widgets">"Widget"</string>
-    <string name="group_wallpapers">"Achtergrond"</string>
+    <string name="group_folder">"Nieuwe map"</string>
+    <string name="group_live_folders">"Mappen"</string>
+    <string name="group_widgets">"Widgets"</string>
+    <string name="group_wallpapers">"Achtergronden"</string>
     <string name="add_folder">"Map"</string>
     <string name="add_clock">"Klok"</string>
     <string name="add_photo_frame">"Fotolijstje"</string>
     <string name="add_search">"Zoeken"</string>
     <string name="out_of_space">"Er is geen ruimte meer op dit startscherm."</string>
     <string name="title_select_shortcut">"Snelkoppeling selecteren"</string>
-    <string name="title_select_live_folder">"Live map selecteren"</string>
+    <string name="title_select_live_folder">"Map selecteren"</string>
     <string name="menu_add">"Toevoegen"</string>
     <string name="menu_wallpaper">"Achtergrond"</string>
     <string name="menu_search">"Zoeken"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index e26d723..d5b26a9 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -26,20 +26,20 @@
     <string name="rename_action">"OK"</string>
     <string name="cancel_action">"Anuluj"</string>
     <string name="menu_item_add_item">"Dodaj do strony głównej"</string>
-    <string name="group_applications">"Aplikacja"</string>
-    <string name="group_shortcuts">"Skrót"</string>
+    <string name="group_applications">"Aplikacje"</string>
+    <string name="group_shortcuts">"Skróty"</string>
     <string name="group_search">"Wyszukiwarka"</string>
-    <string name="group_folder">"Folder"</string>
-    <string name="group_live_folders">"Folder aktywny"</string>
-    <string name="group_widgets">"Widget"</string>
-    <string name="group_wallpapers">"Tapeta"</string>
+    <string name="group_folder">"Nowy folder"</string>
+    <string name="group_live_folders">"Foldery"</string>
+    <string name="group_widgets">"Widżety"</string>
+    <string name="group_wallpapers">"Tapety"</string>
     <string name="add_folder">"Folder"</string>
     <string name="add_clock">"Zegar"</string>
     <string name="add_photo_frame">"Ramka obrazu"</string>
     <string name="add_search">"Wyszukiwarka"</string>
     <string name="out_of_space">"Brak miejsca na tej stronie głównej"</string>
     <string name="title_select_shortcut">"Wybierz skrót"</string>
-    <string name="title_select_live_folder">"Wybierz folder aktywny"</string>
+    <string name="title_select_live_folder">"Wybierz folder"</string>
     <string name="menu_add">"Dodaj"</string>
     <string name="menu_wallpaper">"Tapeta"</string>
     <string name="menu_search">"Szukaj"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 2546503..317e9ba 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -26,20 +26,20 @@
     <string name="rename_action">"ОК"</string>
     <string name="cancel_action">"Отмена"</string>
     <string name="menu_item_add_item">"Добавление на главный экран"</string>
-    <string name="group_applications">"Приложение"</string>
-    <string name="group_shortcuts">"Ярлык"</string>
+    <string name="group_applications">"Программы"</string>
+    <string name="group_shortcuts">"Ярлыки"</string>
     <string name="group_search">"Поиск"</string>
-    <string name="group_folder">"Папка"</string>
-    <string name="group_live_folders">"Динамическая папка"</string>
-    <string name="group_widgets">"Виджет"</string>
-    <string name="group_wallpapers">"Фоновый рисунок"</string>
+    <string name="group_folder">"Новая папка"</string>
+    <string name="group_live_folders">"Папки"</string>
+    <string name="group_widgets">"Виджеты"</string>
+    <string name="group_wallpapers">"Обои"</string>
     <string name="add_folder">"Папка"</string>
     <string name="add_clock">"Часы"</string>
     <string name="add_photo_frame">"Рамка для картинки"</string>
     <string name="add_search">"Поиск"</string>
     <string name="out_of_space">"На главном экране больше нет места."</string>
     <string name="title_select_shortcut">"Выберите ярлык"</string>
-    <string name="title_select_live_folder">"Выберите активную папку"</string>
+    <string name="title_select_live_folder">"Выбор папки"</string>
     <string name="menu_add">"Добавить"</string>
     <string name="menu_wallpaper">"Фоновый рисунок"</string>
     <string name="menu_search">"Искать"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index a71bb3a..7e359d6 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -26,20 +26,27 @@
     <string name="rename_action">"确定"</string>
     <string name="cancel_action">"取消"</string>
     <string name="menu_item_add_item">"添加到“主页”屏幕"</string>
-    <string name="group_applications">"应用程序"</string>
-    <string name="group_shortcuts">"快捷键"</string>
+    <!-- no translation found for group_applications (4118484163419674240) -->
+    <skip />
+    <!-- no translation found for group_shortcuts (9133529424900391877) -->
+    <skip />
     <string name="group_search">"搜索"</string>
-    <string name="group_folder">"文件夹"</string>
-    <string name="group_live_folders">"活动的文件夹"</string>
-    <string name="group_widgets">"小工具"</string>
-    <string name="group_wallpapers">"壁纸"</string>
+    <!-- no translation found for group_folder (5143593791798929193) -->
+    <skip />
+    <!-- no translation found for group_live_folders (2664945399140647217) -->
+    <skip />
+    <!-- no translation found for group_widgets (6704978494073105844) -->
+    <skip />
+    <!-- no translation found for group_wallpapers (1568191644272224858) -->
+    <skip />
     <string name="add_folder">"文件夹"</string>
     <string name="add_clock">"时钟"</string>
     <string name="add_photo_frame">"相框"</string>
     <string name="add_search">"搜索"</string>
     <string name="out_of_space">"该“主页”屏幕上没有多余空间。"</string>
     <string name="title_select_shortcut">"选择快捷键"</string>
-    <string name="title_select_live_folder">"选择活动文件夹"</string>
+    <!-- no translation found for title_select_live_folder (3753447798805166749) -->
+    <skip />
     <string name="menu_add">"添加"</string>
     <string name="menu_wallpaper">"壁纸"</string>
     <string name="menu_search">"搜索"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 217444e..775eb20 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -26,20 +26,27 @@
     <string name="rename_action">"確定"</string>
     <string name="cancel_action">"取消"</string>
     <string name="menu_item_add_item">"新增至首頁畫面"</string>
-    <string name="group_applications">"應用程式"</string>
-    <string name="group_shortcuts">"捷徑"</string>
+    <!-- no translation found for group_applications (4118484163419674240) -->
+    <skip />
+    <!-- no translation found for group_shortcuts (9133529424900391877) -->
+    <skip />
     <string name="group_search">"搜尋"</string>
-    <string name="group_folder">"資料夾"</string>
-    <string name="group_live_folders">"使用中的資料夾"</string>
-    <string name="group_widgets">"Widget"</string>
-    <string name="group_wallpapers">"桌布"</string>
+    <!-- no translation found for group_folder (5143593791798929193) -->
+    <skip />
+    <!-- no translation found for group_live_folders (2664945399140647217) -->
+    <skip />
+    <!-- no translation found for group_widgets (6704978494073105844) -->
+    <skip />
+    <!-- no translation found for group_wallpapers (1568191644272224858) -->
+    <skip />
     <string name="add_folder">"資料夾"</string>
     <string name="add_clock">"時鐘"</string>
     <string name="add_photo_frame">"相框"</string>
     <string name="add_search">"搜尋"</string>
     <string name="out_of_space">"首頁已無空間"</string>
     <string name="title_select_shortcut">"選取捷徑"</string>
-    <string name="title_select_live_folder">"選取作用中資料夾"</string>
+    <!-- no translation found for title_select_live_folder (3753447798805166749) -->
+    <skip />
     <string name="menu_add">"新增"</string>
     <string name="menu_wallpaper">"桌布"</string>
     <string name="menu_search">"搜尋"</string>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
new file mode 100644
index 0000000..4ae6686
--- /dev/null
+++ b/res/values/dimens.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<resources>
+    <dimen name="search_widget_inset">19dip</dimen>
+</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index a3d3e22..9b06d26 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -53,4 +53,11 @@
         <item name="android:layout_marginLeft">10dip</item>
         <item name="android:layout_marginRight">10dip</item>
     </style>
+
+    <style name="SearchButton" parent="@android:style/Widget.Button.Small">
+        <item name="android:paddingTop">7dip</item>
+        <item name="android:paddingBottom">9dip</item>
+        <item name="android:paddingLeft">10dip</item>
+        <item name="android:paddingRight">10dip</item>
+    </style>
 </resources>
diff --git a/res/xml/default_workspace.xml b/res/xml/default_workspace.xml
index fd7adf7..ae2e2a6 100644
--- a/res/xml/default_workspace.xml
+++ b/res/xml/default_workspace.xml
@@ -17,12 +17,12 @@
 <favorites xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher">
 
     <clock
-        launcher:screen="1"
+        launcher:screen="2"
         launcher:x="1"
         launcher:y="0" />
 
     <search
-        launcher:screen="2"
+        launcher:screen="1"
         launcher:x="0"
         launcher:y="0" />
 
diff --git a/src/com/android/launcher/Launcher.java b/src/com/android/launcher/Launcher.java
index 7b7802e..7dd3418 100644
--- a/src/com/android/launcher/Launcher.java
+++ b/src/com/android/launcher/Launcher.java
@@ -168,6 +168,7 @@
 
     private final BroadcastReceiver mApplicationsReceiver = new ApplicationsIntentReceiver();
     private final ContentObserver mObserver = new FavoritesChangeObserver();
+    private final ContentObserver mAppWidgetResetObserver = new AppWidgetResetObserver();
 
     private LayoutInflater mInflater;
 
@@ -826,6 +827,7 @@
         sModel.abortLoaders();
 
         getContentResolver().unregisterContentObserver(mObserver);
+        getContentResolver().unregisterContentObserver(mAppWidgetResetObserver);
         unregisterReceiver(mApplicationsReceiver);
     }
 
@@ -1156,6 +1158,7 @@
     private void registerContentObservers() {
         ContentResolver resolver = getContentResolver();
         resolver.registerContentObserver(LauncherSettings.Favorites.CONTENT_URI, true, mObserver);
+        resolver.registerContentObserver(LauncherProvider.CONTENT_APPWIDGET_RESET_URI, true, mAppWidgetResetObserver);
     }
 
     @Override
@@ -1221,6 +1224,16 @@
         sModel.loadUserItems(false, this, false, false);
     }
 
+    /**
+     * When reset, we handle by calling {@link AppWidgetHost#startListening()}
+     * to make sure our callbacks are set correctly.
+     */
+    private void onAppWidgetReset() {
+        if (mAppWidgetHost != null) {
+            mAppWidgetHost.startListening();
+        }
+    }
+
     void onDesktopItemsLoaded() {
         if (mDestroyed) return;
         bindDesktopItems();
@@ -1878,6 +1891,21 @@
     }
 
     /**
+     * Receives notifications when the {@link AppWidgetHost} has been reset,
+     * usually only when the {@link LauncherProvider} database is first created.
+     */
+    private class AppWidgetResetObserver extends ContentObserver {
+        public AppWidgetResetObserver() {
+            super(new Handler());
+        }
+
+        @Override
+        public void onChange(boolean selfChange) {
+            onAppWidgetReset();
+        }
+    }
+
+    /**
      * Receives intents from other applications to change the wallpaper.
      */
     private static class WallpaperIntentReceiver extends BroadcastReceiver {
diff --git a/src/com/android/launcher/LauncherModel.java b/src/com/android/launcher/LauncherModel.java
index e302081..da41f14 100644
--- a/src/com/android/launcher/LauncherModel.java
+++ b/src/com/android/launcher/LauncherModel.java
@@ -584,6 +584,7 @@
         }
 
         if (mDesktopItemsLoader != null && mDesktopItemsLoader.isRunning()) {
+            if (DEBUG_LOADERS) d(LOG_TAG, "  --> stopping workspace loader");
             mDesktopItemsLoader.stop();
             // Wait for the currently running thread to finish, this can take a little
             // time but it should be well below the timeout limit
@@ -592,6 +593,13 @@
             } catch (InterruptedException e) {
                 // Empty
             }
+
+            // If the thread we are interrupting was tasked to load the list of
+            // applications make sure we keep that information in the new loader
+            // spawned below
+            // note: we don't apply this to localeChanged because the thread can
+            // only be stopped *after* the localeChanged handling has occured
+            loadApplications = mDesktopItemsLoader.mLoadApplications;
         }
 
         if (DEBUG_LOADERS) d(LOG_TAG, "  --> starting workspace loader");
@@ -636,7 +644,8 @@
                                     final ContentValues values = new ContentValues();
                                     values.put(LauncherSettings.Favorites.TITLE, label);
 
-                                    resolver.update(LauncherSettings.Favorites.CONTENT_URI_NO_NOTIFICATION,
+                                    resolver.update(
+                                            LauncherSettings.Favorites.CONTENT_URI_NO_NOTIFICATION,
                                             values, "_id=?",
                                             new String[] { String.valueOf(c.getLong(idIndex)) });
 
@@ -1243,7 +1252,7 @@
     FolderInfo getFolderById(Context context, long id) {
         final ContentResolver cr = context.getContentResolver();
         Cursor c = cr.query(LauncherSettings.Favorites.CONTENT_URI, null,
-                "_id=? and itemType=? or itemType=?",
+                "_id=? and (itemType=? or itemType=?)",
                 new String[] { String.valueOf(id),
                         String.valueOf(LauncherSettings.Favorites.ITEM_TYPE_USER_FOLDER),
                         String.valueOf(LauncherSettings.Favorites.ITEM_TYPE_LIVE_FOLDER) }, null);
diff --git a/src/com/android/launcher/LauncherProvider.java b/src/com/android/launcher/LauncherProvider.java
index e63ef30..a27b746 100644
--- a/src/com/android/launcher/LauncherProvider.java
+++ b/src/com/android/launcher/LauncherProvider.java
@@ -65,6 +65,14 @@
     static final String TABLE_FAVORITES = "favorites";
     static final String PARAMETER_NOTIFY = "notify";
 
+    /**
+     * {@link Uri} triggered at any registered {@link ContentObserver} when
+     * {@link AppWidgetHost#deleteHost()} is called during database creation.
+     * Use this to recall {@link AppWidgetHost#startListening()} if needed.
+     */
+    static final Uri CONTENT_APPWIDGET_RESET_URI =
+            Uri.parse("content://" + AUTHORITY + "/appWidgetReset");
+    
     private SQLiteOpenHelper mOpenHelper;
 
     @Override
@@ -176,6 +184,17 @@
             mAppWidgetHost = new AppWidgetHost(context, Launcher.APPWIDGET_HOST_ID);
         }
 
+        /**
+         * Send notification that we've deleted the {@link AppWidgetHost},
+         * probably as part of the initial database creation. The receiver may
+         * want to re-call {@link AppWidgetHost#startListening()} to ensure
+         * callbacks are correctly set.
+         */
+        private void sendAppWidgetResetNotify() {
+            final ContentResolver resolver = mContext.getContentResolver();
+            resolver.notifyChange(CONTENT_APPWIDGET_RESET_URI, null);
+        }
+
         @Override
         public void onCreate(SQLiteDatabase db) {
             if (LOGD) Log.d(LOG_TAG, "creating new launcher database");
@@ -204,6 +223,7 @@
             // Database was just created, so wipe any previous widgets
             if (mAppWidgetHost != null) {
                 mAppWidgetHost.deleteHost();
+                sendAppWidgetResetNotify();
             }
             
             if (!convertDatabase(db)) {
diff --git a/src/com/android/launcher/Search.java b/src/com/android/launcher/Search.java
index 97dcd98..71ab7ef 100644
--- a/src/com/android/launcher/Search.java
+++ b/src/com/android/launcher/Search.java
@@ -329,6 +329,33 @@
     }
     
     /**
+     * Cache of popup padding value after read from {@link Resources}.
+     */
+    private static float mPaddingInset = -1;
+    
+    /**
+     * When our size is changed, pass down adjusted width and offset values to
+     * correctly center the {@link AutoCompleteTextView} popup and include our
+     * padding.
+     */
+    @Override
+    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
+        super.onLayout(changed, left, top, right, bottom);
+        if (changed) {
+            if (mPaddingInset == -1) {
+                mPaddingInset = getResources().getDimension(R.dimen.search_widget_inset);
+            }
+            
+            // Fill entire width of widget, minus padding inset
+            float paddedWidth = getWidth() - (mPaddingInset * 2);
+            float paddedOffset = -(mSearchText.getLeft() - mPaddingInset);
+                
+            mSearchText.setDropDownWidth((int) paddedWidth);
+            mSearchText.setDropDownHorizontalOffset((int) paddedOffset);
+        }
+    }
+    
+    /**
      * Read the searchable info from the search manager
      */
     private void configureSearchableInfo() {
