diff --git a/yazi-config/src/preview/preview.rs b/yazi-config/src/preview/preview.rs index ac8a0ea2..d58b0440 100644 --- a/yazi-config/src/preview/preview.rs +++ b/yazi-config/src/preview/preview.rs @@ -49,15 +49,10 @@ impl Default for Preview { let preview = toml::from_str::(&MERGED_YAZI).unwrap().preview; check_validation(preview.validate()); - let mut cache_dir = Xdg::cache_dir(); + let cache_dir = + preview.cache_dir.filter(|p| !p.is_empty()).map_or_else(Xdg::cache_dir, expand_path); std::fs::create_dir_all(&cache_dir).expect("Failed to create cache directory"); - // If the `cache_dir` is set in the configuration file, use it instead - if let Some(p) = preview.cache_dir.filter(|s| !s.is_empty()).map(expand_path) { - cache_dir = p; - std::fs::create_dir_all(&cache_dir).expect("Failed to create cache directory"); - } - Preview { tab_size: preview.tab_size, max_width: preview.max_width, diff --git a/yazi-dds/src/stream.rs b/yazi-dds/src/stream.rs index 3ae7b9c1..2262c66c 100644 --- a/yazi-dds/src/stream.rs +++ b/yazi-dds/src/stream.rs @@ -49,11 +49,12 @@ impl Stream { #[cfg(unix)] fn socket_file() -> std::path::PathBuf { + use std::env::temp_dir; + use uzers::Users; - use yazi_shared::Xdg; use crate::USERS_CACHE; - Xdg::cache_dir().join(format!(".dds-{}.sock", USERS_CACHE.get_current_uid())) + temp_dir().join(format!(".yazi_dds-{}.sock", USERS_CACHE.get_current_uid())) } }