summaryrefslogtreecommitdiffstats
path: root/src/config.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/config.rs b/src/config.rs
index cbe6d1e..ddcb068 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -159,19 +159,8 @@ impl Config {
Ok(("media_mute", "on")) => config.media_mute = true,
Ok(("media_mute", "off")) => config.media_mute = false,
Ok(("media_previewer", cmd)) => {
- use crate::minibuffer::find_bins;
-
let cmd = cmd.to_string();
config.media_previewer = cmd;
-
- let previewer = std::path::Path::new(&config.media_previewer);
- let exists = match previewer.is_absolute() {
- true => previewer.exists(),
- false => find_bins(&config.media_previewer).is_ok()
- };
-
- config.media_previewer_exists = exists;
-
},
Ok(("ratios", ratios)) => {
let ratios_str = ratios.to_string();
@@ -200,6 +189,12 @@ impl Config {
"auto")) => config.graphics = detect_g_mode(),
_ => { HError::config_error::<Config>(line.to_string()).log(); }
}
+
+ #[cfg(feature = "img")]
+ match has_media_previewer(&config.media_previewer) {
+ t @ _ => config.media_previewer_exists = t
+ }
+
config
});
@@ -245,3 +240,12 @@ fn detect_g_mode() -> String {
_ => "unicode"
}.to_string()
}
+
+fn has_media_previewer(name: &str) -> bool {
+ use crate::minibuffer::find_bins;
+ let previewer = std::path::Path::new(name);
+ match previewer.is_absolute() {
+ true => previewer.exists(),
+ false => find_bins(name).is_ok()
+ }
+}