From 929403386cd855a1715334db9c6c4cd1ae08f4a6 Mon Sep 17 00:00:00 2001 From: Alberto Corona Date: Sat, 7 Jan 2017 18:12:28 -0600 Subject: Support config path `$XDG_CONFIG/alacritty.yml` - Update README to reflect changes --- README.md | 7 ++++--- src/config.rs | 8 +++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index df04bdc4..7336533f 100644 --- a/README.md +++ b/README.md @@ -143,10 +143,11 @@ you'll probably end up wanting to customize it anyhow. There is a default file as the following paths: 1. `$XDG_CONFIG_HOME/alacritty/alacritty.yml` -2. `$HOME/.config/alacritty/alacritty.yml` +2. `$XDG_CONFIG_HOME/alacritty.yml` +3. `$HOME/.config/alacritty/alacritty.yml` -If these files are not found then one is created as `$HOME/.config/alacritty/alacritty.yml` -once alacritty is first run. +If neither path 1 or 2 are found then `$HOME/.config/alacritty/alacritty.yml` +is created as or once alacritty is first run. Many configuration options will take effect immediately upon saving changes to the config file. The only exception is the `font` and `dpi` section which diff --git a/src/config.rs b/src/config.rs index 706f1d01..b3ca5bdb 100644 --- a/src/config.rs +++ b/src/config.rs @@ -812,7 +812,8 @@ impl Config { /// The config file is loaded from the first file it finds in this list of paths /// /// 1. $XDG_CONFIG_HOME/alacritty/alacritty.yml - /// 2. $HOME/.config/alacritty/alacritty.yml + /// 2. $XDG_CONFIG_HOME/alacritty.yml + /// 3. $HOME/.config/alacritty/alacritty.yml pub fn load() -> Result { let home = env::var("HOME")?; @@ -820,6 +821,11 @@ impl Config { let path = ::xdg::BaseDirectories::with_prefix("alacritty") .ok() .and_then(|xdg| xdg.find_config_file("alacritty.yml")) + .or_else(|| { + ::xdg::BaseDirectories::new().ok().and_then(|fallback| { + fallback.find_config_file("alacritty.yml") + }) + }) .unwrap_or_else(|| { // Fallback path: $HOME/.config/alacritty/alacritty.yml let mut alt_path = PathBuf::from(&home); -- cgit