rust-xdg

rust-xdg is a library that makes it easy to follow the X Desktop Group standards for data, configuration, cache and runtime directories.

Installation

Add the following to Cargo.toml:

toml [dependencies] xdg = "*"

Examples

To store configuration:

```rust extern crate xdg; let xdg_dirs = xdg::XdgDirs::new();

let mut file = try!(File::create(xdgdirs.placeconfig_file("myapp/config.ini"))); try!(write!(&mut file, "configured = 1")); ```

The myapp.ini file will appear in the proper location for desktop configuration files, most likely ~/.config/myapp/config.ini. The leading directories will be automatically created.

To retrieve supplementary data:

rust let config_path = xdg_dirs.find_config_file("myapp/logo.png") .expect("application data not present"); let mut file = try!(File::open(config_path)); let mut data = String::new(); try!(file.read_to_string(&mut data));

The logo.png will be searched in the proper locations for supplementary data files, most likely ~/.local/share/myapp/logo.png, then /usr/local/share/myapp/logo.png and /usr/share/myapp/logo.png.

License

rust-xdg is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.