• Stars
    star
    154
  • Rank 240,634 (Top 5 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OS-native file dialogs on Linux, OS X and Windows

nfd-rs

nfd-rs is a Rust binding to the library nativefiledialog, that provides a convenient cross-platform interface to opening file dialogs on Linux, OS X and Windows.

This crate has been tested on Mac, Window and Linux (Ubuntu 14.04) and supports single/mutliple and save dialogs, notice APIs may break with newer versions.

Usage

  • Add the dependency nfd in your Cargo.toml

    [dependencies]
    nfd = "0.0.4"
  • Open a single file dialog

    extern crate nfd;
    
    use nfd::Response;
    
    fn main() {
    
      let result = nfd::open_file_dialog(None, None).unwrap_or_else(|e| {
      	panic!(e);
      });
    
      match result {
          Response::Okay(file_path) => println!("File path = {:?}", file_path),
          Response::OkayMultiple(files) => println!("Files {:?}", files),
          Response::Cancel => println!("User canceled"),
      }
    }
  • Open a multi file dialog using builder with jpg files as filter

    extern crate nfd;
    
    use nfd::Response;
    
    fn main() {
    
      let result = nfd::dialog_multiple().filter("jpg").open().unwrap_or_else(|e| {
      	panic!(e);
      });
    
      match result {
          Response::Okay(file_path) => println!("File path = {:?}", file_path),
          Response::OkayMultiple(files) => println!("Files {:?}", files),
          Response::Cancel => println!("User canceled"),
      }
    }

Screenshot

Cocoa on El Capitan