pub struct UserDirs { /* fields omitted */ }
UserDirs
provides paths of user-facing standard directories, following the conventions of the operating system the library is running on.
All examples on this page are computed with a user named Alice.
use directories::UserDirs;
if let Some(user_dirs) = UserDirs::new() {
user_dirs.audio_dir();
}
Creates a UserDirs
struct which holds the paths to user-facing directories for audio, font, video, etc. data on the system.
The returned value depends on the operating system and is either
Some
, containing a snapshot of the state of the system's paths at the time new()
was invoked, or
None
, if no valid home directory path could be retrieved from the operating system.
To determine whether a system provides a valid $HOME
path, please refer to BaseDirs::new
Returns the path to the user's home directory.
Platform | Value | Example |
Linux | $HOME | /home/alice |
macOS | $HOME | /Users/Alice |
Windows | {FOLDERID_Profile} | C:\Users\Alice |
Returns the path to the user's audio directory.
Platform | Value | Example |
Linux | XDG_MUSIC_DIR | /home/alice/Music |
macOS | $HOME /Music | /Users/Alice/Music |
Windows | {FOLDERID_Music} | C:\Users\Alice\Music |
Returns the path to the user's desktop directory.
Platform | Value | Example |
Linux | XDG_DESKTOP_DIR | /home/alice/Desktop |
macOS | $HOME /Desktop | /Users/Alice/Desktop |
Windows | {FOLDERID_Desktop} | C:\Users\Alice\Desktop |
Returns the path to the user's document directory.
Platform | Value | Example |
Linux | XDG_DOCUMENTS_DIR | /home/alice/Documents |
macOS | $HOME /Documents | /Users/Alice/Documents |
Windows | {FOLDERID_Documents} | C:\Users\Alice\Documents |
Returns the path to the user's download directory.
Platform | Value | Example |
Linux | XDG_DOWNLOAD_DIR | /home/alice/Downloads |
macOS | $HOME /Downloads | /Users/Alice/Downloads |
Windows | {FOLDERID_Downloads} | C:\Users\Alice\Downloads |
Returns the path to the user's font directory.
Platform | Value | Example |
Linux | $XDG_DATA_HOME /fonts or $HOME /.local/share/fonts | /home/alice/.local/share/fonts |
macOS | $HOME /Library/Fonts | /Users/Alice/Library/Fonts |
Windows | – | – |
Returns the path to the user's picture directory.
Platform | Value | Example |
Linux | XDG_PICTURES_DIR | /home/alice/Pictures |
macOS | $HOME /Pictures | /Users/Alice/Pictures |
Windows | {FOLDERID_Pictures} | C:\Users\Alice\Pictures |
Returns the path to the user's public directory.
Platform | Value | Example |
Linux | XDG_PUBLICSHARE_DIR | /home/alice/Public |
macOS | $HOME /Public | /Users/Alice/Public |
Windows | {FOLDERID_Public} | C:\Users\Public |
Returns the path to the user's template directory.
Platform | Value | Example |
Linux | XDG_TEMPLATES_DIR | /home/alice/Templates |
macOS | – | – |
Windows | {FOLDERID_Templates} | C:\Users\Alice\AppData\Roaming\Microsoft\Windows\Templates |
Returns the path to the user's video directory.
Platform | Value | Example |
Linux | XDG_VIDEOS_DIR | /home/alice/Videos |
macOS | $HOME /Movies | /Users/Alice/Movies |
Windows | {FOLDERID_Videos} | C:\Users\Alice\Videos |
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)