From da8cdd1fbdbdcbecbc3c722d1b93cd3bf51de46b Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Wed, 18 Jun 2025 10:48:00 -0600 Subject: [PATCH] Only allow zooming in kitty --- src/main.rs | 7 ++++++- src/tui.rs | 14 ++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main.rs b/src/main.rs index 30eb533..9ecd501 100644 --- a/src/main.rs +++ b/src/main.rs @@ -209,7 +209,12 @@ async fn main() -> Result<(), WrappedErr> { || "Unknown file".into(), |n| n.to_string_lossy().to_string() ); - let tui = Tui::new(file_name, flags.max_wide, flags.r_to_l.unwrap_or_default()); + let tui = Tui::new( + file_name, + flags.max_wide, + flags.r_to_l.unwrap_or_default(), + is_kitty + ); let backend = CrosstermBackend::new(std::io::stdout()); let mut term = Terminal::new(backend).map_err(|e| { diff --git a/src/tui.rs b/src/tui.rs index 692e108..3102def 100644 --- a/src/tui.rs +++ b/src/tui.rs @@ -42,6 +42,7 @@ pub struct Tui { rendered: Vec, page_constraints: PageConstraints, showing_help_msg: bool, + is_kitty: bool, zoom: Option } @@ -107,7 +108,7 @@ pub struct RenderLayout { } impl Tui { - pub fn new(name: String, max_wide: Option, r_to_l: bool) -> Tui { + pub fn new(name: String, max_wide: Option, r_to_l: bool, is_kitty: bool) -> Tui { Self { name, page: 0, @@ -117,6 +118,7 @@ impl Tui { rendered: vec![], page_constraints: PageConstraints { max_wide, r_to_l }, showing_help_msg: false, + is_kitty, zoom: None } } @@ -621,7 +623,7 @@ impl Tui { self.last_render.rect = Rect::default(); Some(InputAction::Redraw) } - 'z' => { + 'z' if self.is_kitty => { let (zoom, f_or_f) = match self.zoom { None => (Some(Zoom::default()), FitOrFill::Fill), Some(_) => (None, FitOrFill::Fit) @@ -630,28 +632,28 @@ impl Tui { self.last_render.rect = Rect::default(); Some(InputAction::SwitchRenderZoom(f_or_f)) } - 'L' => { + 'L' if self.is_kitty => { if let Some(z) = &mut self.zoom { z.cell_pan_from_left = z.cell_pan_from_left.saturating_add(1); } self.last_render.rect = Rect::default(); Some(InputAction::Redraw) } - 'H' => { + 'H' if self.is_kitty => { if let Some(z) = &mut self.zoom { z.cell_pan_from_left = z.cell_pan_from_left.saturating_sub(1); } self.last_render.rect = Rect::default(); Some(InputAction::Redraw) } - 'J' => { + 'J' if self.is_kitty => { if let Some(z) = &mut self.zoom { z.cell_pan_from_top = z.cell_pan_from_top.saturating_add(1); } self.last_render.rect = Rect::default(); Some(InputAction::Redraw) } - 'K' => { + 'K' if self.is_kitty => { if let Some(z) = &mut self.zoom { z.cell_pan_from_top = z.cell_pan_from_top.saturating_sub(1); }