From 9b6e55fe23890ee89efd5b16605ae44b903471e6 Mon Sep 17 00:00:00 2001 From: salmonik Date: Tue, 5 May 2026 23:12:45 +0200 Subject: Add dev/release config separation and volume query command --- src/config.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/config.rs') diff --git a/src/config.rs b/src/config.rs index cda59f4..42573ed 100644 --- a/src/config.rs +++ b/src/config.rs @@ -20,13 +20,19 @@ pub struct Config { impl Config { pub fn load() -> Result> { - let proj_dirs = ProjectDirs::from("com", "rsplayer", "rsplayer") - .ok_or("Failed to get project directories")?; - - let config_dir = if let Ok(xdg) = std::env::var("XDG_CONFIG_HOME") { - PathBuf::from(xdg).join("rsplayer") + let config_dir = if cfg!(debug_assertions) { + std::env::current_exe()? + .parent() + .map(|p| p.to_path_buf()) + .unwrap_or_else(|| PathBuf::from(".")) } else { - proj_dirs.config_dir().to_path_buf() + let proj_dirs = ProjectDirs::from("com", "rsplayer", "rsplayer") + .ok_or("Failed to get project directories")?; + if let Ok(xdg) = std::env::var("XDG_CONFIG_HOME") { + PathBuf::from(xdg).join("rsplayer") + } else { + proj_dirs.config_dir().to_path_buf() + } }; let config_path = config_dir.join("config.toml"); -- cgit v1.2.3