summaryrefslogtreecommitdiffstats
path: root/src/config/raw/app/display/preview.rs
diff options
context:
space:
mode:
authorBenjamin Grosse <ste3ls@gmail.com>2024-02-28 00:33:21 +0000
committerGitHub <noreply@github.com>2024-02-27 19:33:21 -0500
commit285df85cdd745a959ddcbe0c2c1f176e28370abe (patch)
tree95bb5f8454eda1c9a6f183f46c07890216baa754 /src/config/raw/app/display/preview.rs
parentf6d1f71d6c11eaebc13ef9f26b06bd31e2275d51 (diff)
ratatui-image widget for image previews without scripts (#467)
_Disclaimer: I'm the author of ratatui-image._ Use [ratatui-image](https://github.com/benjajaja/ratatui-image) crate to render images. No script or hook setup is required.
Diffstat (limited to 'src/config/raw/app/display/preview.rs')
-rw-r--r--src/config/raw/app/display/preview.rs14
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,