rfd

version Documentation dependency status

WIP native file dialogs for Windows, Linux (GTK), MacOS.

Example

```rust let res = rfd::Dialog::pickfiles() .addfilter("text", &["txt"]) .addfilter("rust", &["rs", "toml"]) .startingdirectory(&"/home") .open();

let file = res.first(); ```

State

GitHub Workflow Status

| API Stability | | -------------- | | :construction: |

| Feature | Linux | Windows | MacOS [1] | Wasm32 | | ------------ | ------------------ | ------------------ | ------------------ | -------------- | | SingleFile | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :construction: | | MultipleFile | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | PickFolder | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | SaveFile | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | | | | | Filters | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | StartingPath | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | Async | | | | |

[1] Freezes when used with winit (same way as nfd) #1779

rfd-extras

AKA features that will be either in a separate rfd-extras crate, or behind a feature flag

| Feature | Linux | Windows | MacOS | | ------------- | ----- | ------- | ----- | | MessageDialog | | | | | PromptDialog | | | | | ColorPicker | | | |