File picker that works

Is there a cross-platform file picker dialog that works reliably?

picker - MacOS only.

  • Appears to be abandoned.

rfd - Multiple problems

I'd expected an all-Rust solution. The problem is that various "sandboxing" systems rely on a trusted system file picker to grant permission for file access. So writing your own file picker is no longer viable.

An ongoing problem with file pickers today is them ending up behind the main window. Modal use of "rfd" in a full screen game can lead to a state where the file dialog is hidden, the main window is dead, and the user is angry.

More info. Here's why this is hard.

You'd think there would just be a file picker written in Rust. The trouble is, today's file pickers are privileged. Applications can be run in sandboxes with limited file access. The platform's official file picker grants access rights to a file. On Linux, the file picker can get you access to files outside the application's sandbox. On Mac, it can (I think) get you access to iCloud files. On Windows, it lets you get access to files outside the app's directory..

So we're stuck with native file pickers. But this is such a basic function that it should Just Work.