From 9a6eea5b39a1989945454cd514be8a8a645ed3ed Mon Sep 17 00:00:00 2001 From: Mahmoud Darwish Date: Wed, 22 Oct 2025 02:46:32 -0400 Subject: [PATCH] Fix GTK file chooser to show network locations on Linux (#19855) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GTK file choosers default to local_only=TRUE, which hides network locations (SMB, SFTP, NFS) mounted via GVFS. This change calls gtk_file_chooser_set_local_only(FALSE) to enable network browsing. Fixes browsing to network shares in OpenFileDialog, OpenFolderDialog, and SaveFileDialog on Linux. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: meywd Co-authored-by: Claude --- src/Avalonia.X11/NativeDialogs/Gtk.cs | 5 ++++- src/Avalonia.X11/NativeDialogs/GtkNativeFileDialogs.cs | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.X11/NativeDialogs/Gtk.cs b/src/Avalonia.X11/NativeDialogs/Gtk.cs index 70010863ba..3138bdb22f 100644 --- a/src/Avalonia.X11/NativeDialogs/Gtk.cs +++ b/src/Avalonia.X11/NativeDialogs/Gtk.cs @@ -61,7 +61,10 @@ namespace Avalonia.X11.NativeDialogs [DllImport(GtkName)] public static extern void gtk_file_chooser_set_select_multiple(IntPtr chooser, bool allow); - + + [DllImport(GtkName)] + public static extern void gtk_file_chooser_set_local_only(IntPtr chooser, bool local_only); + [DllImport(GtkName)] public static extern void gtk_file_chooser_set_do_overwrite_confirmation(IntPtr chooser, bool do_overwrite_confirmation); diff --git a/src/Avalonia.X11/NativeDialogs/GtkNativeFileDialogs.cs b/src/Avalonia.X11/NativeDialogs/GtkNativeFileDialogs.cs index 2ae1dcfd89..99b4803445 100644 --- a/src/Avalonia.X11/NativeDialogs/GtkNativeFileDialogs.cs +++ b/src/Avalonia.X11/NativeDialogs/GtkNativeFileDialogs.cs @@ -87,6 +87,7 @@ namespace Avalonia.X11.NativeDialogs } gtk_window_set_modal(dlg, true); + gtk_file_chooser_set_local_only(dlg, false); var tcs = new TaskCompletionSource(); List? disposables = null;