#path #xdg #directory #folder #filetime #userdir

xdg-user

A library for accessing common user file directories according to xdg-user-dirs

5 releases

0.2.1 May 14, 2020
0.2.0 May 4, 2020
0.1.2 May 4, 2020
0.1.1 May 4, 2020
0.1.0 May 3, 2020

#1572 in Filesystem

Download history 167/week @ 2024-10-27 136/week @ 2024-11-03 92/week @ 2024-11-10 98/week @ 2024-11-17 122/week @ 2024-11-24 172/week @ 2024-12-01 203/week @ 2024-12-08 241/week @ 2024-12-15 215/week @ 2024-12-22 246/week @ 2024-12-29 476/week @ 2025-01-05 522/week @ 2025-01-12 362/week @ 2025-01-19 252/week @ 2025-01-26 334/week @ 2025-02-02 325/week @ 2025-02-09

1,350 downloads per month
Used in tuisic

MIT/Apache

17KB
264 lines

crates.io docs.rs

xdg-user

This simple crate allows you to get paths to well known user directories, using xdg-user-dirss user-dirs.dirs file.

There are two ways of using this crate - with functions in the root of the crate, or with the UserDirs struct. UserDirs will read and parse the config file only once - when you call the UserDirs::new function. Functions in the root will read and parse the config file EVERY TIME you call them - so use them ONLY if you need to get one or two folders one or two times.

Example

println!("Pictures folder: {:?}", xdg_user::pictures()?);
println!("Music folder:    {:?}", xdg_user::music()?);

let dirs = xdg_user::UserDirs::new()?;
println!("Documents folder: {:?}", dirs.documents());
println!("Downloads folder: {:?}", dirs.downloads());

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0–7MB
~32K SLoC