diff options
Diffstat (limited to 'src/config/raw/app/display/preview.rs')
-rw-r--r-- | src/config/raw/app/display/preview.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/config/raw/app/display/preview.rs b/src/config/raw/app/display/preview.rs index 60bb032..ee3682e 100644 --- a/src/config/raw/app/display/preview.rs +++ b/src/config/raw/app/display/preview.rs @@ -1,14 +1,27 @@ +use ratatui_image::picker::ProtocolType; use serde::Deserialize; pub const fn default_max_preview_size() -> u64 { 2 * 1024 * 1024 // 2 MB } +#[derive(Clone, Debug, Deserialize, Default)] +#[serde(rename_all = "snake_case")] +pub enum PreviewProtocol { + #[default] + Auto, + Disabled, + #[serde(untagged)] + ProtocolType(ProtocolType), +} + #[derive(Clone, Debug, Deserialize)] pub struct PreviewOptionRaw { #[serde(default = "default_max_preview_size")] pub max_preview_size: u64, #[serde(default)] + pub preview_protocol: PreviewProtocol, + #[serde(default)] pub preview_script: Option<String>, #[serde(default)] pub preview_shown_hook_script: Option<String>, @@ -20,6 +33,7 @@ impl std::default::Default for PreviewOptionRaw { fn default() -> Self { Self { max_preview_size: default_max_preview_size(), + preview_protocol: PreviewProtocol::Auto, preview_script: None, preview_shown_hook_script: None, preview_removed_hook_script: None, |