--- ./gtk/gtkfilechooserwidget.c.orig	2025-09-17 23:01:52.899167121 -0500
+++ ./gtk/gtkfilechooserwidget.c	2025-09-17 23:10:25.250154977 -0500
@@ -1428,5 +1428,5 @@
         }
     }
-  else if (gtk_search_entry_handle_event (GTK_SEARCH_ENTRY (priv->search_entry), (GdkEvent *)event))
+  else if (FALSE && gtk_search_entry_handle_event (GTK_SEARCH_ENTRY (priv->search_entry), (GdkEvent *)event))
     {
       if (priv->operation_mode != OPERATION_MODE_SEARCH)
@@ -2498,5 +2498,5 @@
   GtkFileChooserWidgetPrivate *priv = impl->priv;
 
-  gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->browse_files_tree_view), -1);
+  gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->browse_files_tree_view), 0);
 
   gtk_tree_view_column_set_sort_column_id (priv->list_name_column, MODEL_COL_NAME);
@@ -3296,4 +3296,10 @@
 {
   GtkFileChooserWidgetPrivate *priv = impl->priv;
+  gboolean eject_button = TRUE;
+
+  g_object_get (gtk_widget_get_settings (GTK_WIDGET (impl)),
+                "gtk-file-chooser-eject-button", &eject_button,
+                NULL);
+  gtk_places_sidebar_set_show_mount_eject(GTK_PLACES_SIDEBAR (priv->places_sidebar), eject_button);
 
   if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
@@ -5226,4 +5232,6 @@
       if (info == NULL || _gtk_file_info_consider_as_directory (info))
         g_value_set_string (value, NULL);
+      else if (g_strcmp0 (g_getenv ("GTK_USE_IEC_UNITS"), "1") == 0)
+        g_value_take_string (value, g_format_size_full (g_file_info_get_size (info), G_FORMAT_SIZE_IEC_UNITS));
       else
         g_value_take_string (value, g_format_size (g_file_info_get_size (info)));
@@ -7355,6 +7363,4 @@
   gboolean select = FALSE;
 
-  if (gtk_tree_model_iter_n_children (GTK_TREE_MODEL (impl->priv->search_model), NULL) == 0)
-    select = TRUE;
 
   files = NULL;
@@ -7701,5 +7707,5 @@
   gtk_tree_view_set_model (GTK_TREE_VIEW (priv->browse_files_tree_view),
                            GTK_TREE_MODEL (priv->recent_model));
-  gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->browse_files_tree_view), -1);
+  gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->browse_files_tree_view), 0);
 
   gtk_tree_view_column_set_sort_column_id (priv->list_name_column, -1);
@@ -8654,8 +8660,4 @@
                                 0);
   gtk_binding_entry_add_signal (binding_set,
-                                GDK_KEY_f, GDK_CONTROL_MASK,
-                                "search-shortcut",
-                                0);
-  gtk_binding_entry_add_signal (binding_set,
                                 GDK_KEY_r, GDK_MOD1_MASK,
                                 "recent-shortcut",
@@ -8779,4 +8781,5 @@
 
   /* Setup file list treeview */
+  gtk_tree_view_set_enable_search (GTK_TREE_VIEW (impl->priv->browse_files_tree_view), TRUE);
   selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->priv->browse_files_tree_view));
   gtk_tree_selection_set_select_function (selection,
--- ./gtk/gtkplacessidebar.c.orig	2024-07-10 12:03:14.000000000 -0500
+++ ./gtk/gtkplacessidebar.c	2025-09-17 23:10:25.248154977 -0500
@@ -192,4 +192,5 @@
   guint local_only             : 1;
   guint populate_all           : 1;
+  guint show_eject             : 1;
 };
 
@@ -262,4 +263,5 @@
   PROP_SHOW_OTHER_LOCATIONS,
   PROP_POPULATE_ALL,
+  PROP_SHOW_MOUNT_EJECT,
   NUM_PROPERTIES
 };
@@ -498,5 +500,5 @@
     g_assert (place_type != PLACES_BOOKMARK);
 
-  show_eject_button = (show_unmount || show_eject);
+  show_eject_button = (sidebar->show_eject && (show_unmount || show_eject));
 
   row = g_object_new (GTK_TYPE_SIDEBAR_ROW,
@@ -634,4 +636,5 @@
 add_special_dirs (GtkPlacesSidebar *sidebar)
 {
+  return;
   GList *dirs;
   gint index;
@@ -1431,6 +1434,4 @@
       is_native = g_file_is_native (root);
 
-      if (_gtk_bookmarks_manager_get_is_builtin (sidebar->bookmarks_manager, root))
-        continue;
 
       if (sidebar->local_only && !is_native)
@@ -1540,4 +1541,15 @@
       g_object_unref (start_icon);
     }
+  else if (!sidebar->local_only)
+    {
+      start_icon = g_themed_icon_new_with_default_fallbacks (ICON_NAME_NETWORK);
+
+      add_place (sidebar, PLACES_BUILT_IN,
+                 SECTION_OTHER_LOCATIONS,
+                 _("Networks"), start_icon, NULL, "network:///",
+                 NULL, NULL, NULL, NULL, 0, _("Show other locations"));
+
+      g_object_unref (start_icon);
+    }
 
   gtk_widget_show_all (GTK_WIDGET (sidebar));
@@ -4082,4 +4094,5 @@
 
   sidebar->show_trash = TRUE;
+  sidebar->show_eject = TRUE;
 
   create_volume_monitor (sidebar);
@@ -4159,5 +4172,5 @@
   gtk_container_add (GTK_CONTAINER (sidebar), sidebar->list_box);
 
-  sidebar->hostname = g_strdup (_("Computer"));
+  sidebar->hostname = g_strdup (_("File System"));
   sidebar->hostnamed_cancellable = g_cancellable_new ();
   g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
@@ -4255,4 +4268,8 @@
       break;
 
+    case PROP_SHOW_MOUNT_EJECT:
+      gtk_places_sidebar_set_show_mount_eject(sidebar, g_value_get_boolean (value));
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
@@ -4317,4 +4334,8 @@
       break;
 
+    case PROP_SHOW_MOUNT_EJECT:
+      g_value_set_boolean(value, gtk_places_sidebar_get_show_mount_eject(sidebar));
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
@@ -4859,4 +4880,10 @@
                                 FALSE,
                                 G_PARAM_READWRITE);
+  properties[PROP_SHOW_MOUNT_EJECT] =
+          g_param_spec_boolean ("show-mount-eject",
+                                P_("Show mount eject button"),
+                                P_("Whether the sidebar includes mount eject buttons"),
+                                TRUE,
+                                G_PARAM_READWRITE);
 
 
@@ -5660,2 +5687,44 @@
   return sidebar->show_starred_location;
 }
+
+/**
+ * gtk_places_sidebar_set_show_mount_eject:
+ * @sidebar: a places sidebar
+ * @show_eject: whether to show mount eject buttons
+ *
+ * Sets whether the @sidebar should show mount eject buttons.
+ *
+ * Since: 3.22.37
+ */
+void
+gtk_places_sidebar_set_show_mount_eject (GtkPlacesSidebar *sidebar,
+                                         gboolean         show_eject)
+{
+  g_return_if_fail (GTK_IS_PLACES_SIDEBAR (sidebar));
+
+  show_eject = !!show_eject;
+  if (sidebar->show_eject != show_eject)
+    {
+      sidebar->show_eject = show_eject;
+      update_places (sidebar);
+      g_object_notify_by_pspec (G_OBJECT (sidebar), properties[PROP_SHOW_MOUNT_EJECT]);
+    }
+}
+
+/**
+ * gtk_places_sidebar_get_show_mount_eject:
+ * @sidebar: a places sidebar
+ *
+ * Returns the value previously set with gtk_places_sidebar_set_show_mount_eject()
+ *
+ * Returns: %TRUE if the sidebar will display a mount eject buttons.
+ *
+ * Since: 3.22.37
+ */
+gboolean
+gtk_places_sidebar_get_show_mount_eject (GtkPlacesSidebar *sidebar)
+{
+  g_return_val_if_fail (GTK_IS_PLACES_SIDEBAR (sidebar), TRUE);
+
+  return sidebar->show_eject;
+}
\ No newline at end of file
--- ./gtk/gtkplacessidebar.h.orig	2024-07-10 12:03:14.000000000 -0500
+++ ./gtk/gtkplacessidebar.h	2025-09-17 23:10:25.243154977 -0500
@@ -156,4 +156,10 @@
 GDK_AVAILABLE_IN_3_22
 gboolean             gtk_places_sidebar_get_show_starred_location (GtkPlacesSidebar   *sidebar);
+
+GDK_AVAILABLE_IN_3_24
+gboolean           gtk_places_sidebar_get_show_mount_eject        (GtkPlacesSidebar   *sidebar);
+GDK_AVAILABLE_IN_3_24
+void               gtk_places_sidebar_set_show_mount_eject        (GtkPlacesSidebar   *sidebar,
+                                                                   gboolean           show_eject);
 G_END_DECLS
 
--- ./gtk/gtksettings.c.orig	2024-07-10 12:03:14.000000000 -0500
+++ ./gtk/gtksettings.c	2025-09-17 23:10:25.244154977 -0500
@@ -227,5 +227,6 @@
   PROP_LONG_PRESS_TIME,
   PROP_KEYNAV_USE_CARET,
-  PROP_OVERLAY_SCROLLING
+  PROP_OVERLAY_SCROLLING,
+  PROP_FILE_CHOOSER_EJECT_BUTTON
 };
 
@@ -1797,4 +1798,22 @@
                                              NULL);
   g_assert (result == PROP_OVERLAY_SCROLLING);
+
+  /**
+   * GtkSettings:gtk-file-chooser-eject-button:
+   *
+   * Whether a mount/eject button is visible for mount entries within the
+   * file-chooser places sidebar widget. If this is set to %FALSE, a mount/eject
+   * button will not be visible for mount entries.
+   *
+   * Since: 3.24.37
+   */
+  result = settings_install_property_parser (class,
+                                             g_param_spec_boolean ("gtk-file-chooser-eject-button",
+                                                                   P_("Whether file-chooser mounts include a mount/eject button"),
+                                                                   P_("Whether file-chooser mounts include a mount/eject button"),
+                                                                   TRUE,
+                                                                   GTK_PARAM_READWRITE),
+                                             NULL);
+  g_assert (result == PROP_FILE_CHOOSER_EJECT_BUTTON);
 }
 
--- ./gtk/ui/gtkfilechooserwidget.ui.orig	2024-07-10 12:03:14.000000000 -0500
+++ ./gtk/ui/gtkfilechooserwidget.ui	2025-09-17 23:10:25.248154977 -0500
@@ -17,5 +17,6 @@
                 <property name="hscrollbar-policy">never</property>
                 <property name="local-only">1</property>
-                <property name="show-other-locations">1</property>
+                <property name="show-other-locations">0</property>
+                <property name="show-trash">0</property>
                 <child internal-child="accessible">
                   <object class="AtkObject">
