mirror of
https://github.com/itsjunetime/tdf.git
synced 2026-06-01 23:51:46 -04:00
Only allow zooming in kitty
This commit is contained in:
+6
-1
@@ -209,7 +209,12 @@ async fn main() -> Result<(), WrappedErr> {
|
|||||||
|| "Unknown file".into(),
|
|| "Unknown file".into(),
|
||||||
|n| n.to_string_lossy().to_string()
|
|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 backend = CrosstermBackend::new(std::io::stdout());
|
||||||
let mut term = Terminal::new(backend).map_err(|e| {
|
let mut term = Terminal::new(backend).map_err(|e| {
|
||||||
|
|||||||
+8
-6
@@ -42,6 +42,7 @@ pub struct Tui {
|
|||||||
rendered: Vec<RenderedInfo>,
|
rendered: Vec<RenderedInfo>,
|
||||||
page_constraints: PageConstraints,
|
page_constraints: PageConstraints,
|
||||||
showing_help_msg: bool,
|
showing_help_msg: bool,
|
||||||
|
is_kitty: bool,
|
||||||
zoom: Option<Zoom>
|
zoom: Option<Zoom>
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,7 +108,7 @@ pub struct RenderLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Tui {
|
impl Tui {
|
||||||
pub fn new(name: String, max_wide: Option<NonZeroUsize>, r_to_l: bool) -> Tui {
|
pub fn new(name: String, max_wide: Option<NonZeroUsize>, r_to_l: bool, is_kitty: bool) -> Tui {
|
||||||
Self {
|
Self {
|
||||||
name,
|
name,
|
||||||
page: 0,
|
page: 0,
|
||||||
@@ -117,6 +118,7 @@ impl Tui {
|
|||||||
rendered: vec![],
|
rendered: vec![],
|
||||||
page_constraints: PageConstraints { max_wide, r_to_l },
|
page_constraints: PageConstraints { max_wide, r_to_l },
|
||||||
showing_help_msg: false,
|
showing_help_msg: false,
|
||||||
|
is_kitty,
|
||||||
zoom: None
|
zoom: None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -621,7 +623,7 @@ impl Tui {
|
|||||||
self.last_render.rect = Rect::default();
|
self.last_render.rect = Rect::default();
|
||||||
Some(InputAction::Redraw)
|
Some(InputAction::Redraw)
|
||||||
}
|
}
|
||||||
'z' => {
|
'z' if self.is_kitty => {
|
||||||
let (zoom, f_or_f) = match self.zoom {
|
let (zoom, f_or_f) = match self.zoom {
|
||||||
None => (Some(Zoom::default()), FitOrFill::Fill),
|
None => (Some(Zoom::default()), FitOrFill::Fill),
|
||||||
Some(_) => (None, FitOrFill::Fit)
|
Some(_) => (None, FitOrFill::Fit)
|
||||||
@@ -630,28 +632,28 @@ impl Tui {
|
|||||||
self.last_render.rect = Rect::default();
|
self.last_render.rect = Rect::default();
|
||||||
Some(InputAction::SwitchRenderZoom(f_or_f))
|
Some(InputAction::SwitchRenderZoom(f_or_f))
|
||||||
}
|
}
|
||||||
'L' => {
|
'L' if self.is_kitty => {
|
||||||
if let Some(z) = &mut self.zoom {
|
if let Some(z) = &mut self.zoom {
|
||||||
z.cell_pan_from_left = z.cell_pan_from_left.saturating_add(1);
|
z.cell_pan_from_left = z.cell_pan_from_left.saturating_add(1);
|
||||||
}
|
}
|
||||||
self.last_render.rect = Rect::default();
|
self.last_render.rect = Rect::default();
|
||||||
Some(InputAction::Redraw)
|
Some(InputAction::Redraw)
|
||||||
}
|
}
|
||||||
'H' => {
|
'H' if self.is_kitty => {
|
||||||
if let Some(z) = &mut self.zoom {
|
if let Some(z) = &mut self.zoom {
|
||||||
z.cell_pan_from_left = z.cell_pan_from_left.saturating_sub(1);
|
z.cell_pan_from_left = z.cell_pan_from_left.saturating_sub(1);
|
||||||
}
|
}
|
||||||
self.last_render.rect = Rect::default();
|
self.last_render.rect = Rect::default();
|
||||||
Some(InputAction::Redraw)
|
Some(InputAction::Redraw)
|
||||||
}
|
}
|
||||||
'J' => {
|
'J' if self.is_kitty => {
|
||||||
if let Some(z) = &mut self.zoom {
|
if let Some(z) = &mut self.zoom {
|
||||||
z.cell_pan_from_top = z.cell_pan_from_top.saturating_add(1);
|
z.cell_pan_from_top = z.cell_pan_from_top.saturating_add(1);
|
||||||
}
|
}
|
||||||
self.last_render.rect = Rect::default();
|
self.last_render.rect = Rect::default();
|
||||||
Some(InputAction::Redraw)
|
Some(InputAction::Redraw)
|
||||||
}
|
}
|
||||||
'K' => {
|
'K' if self.is_kitty => {
|
||||||
if let Some(z) = &mut self.zoom {
|
if let Some(z) = &mut self.zoom {
|
||||||
z.cell_pan_from_top = z.cell_pan_from_top.saturating_sub(1);
|
z.cell_pan_from_top = z.cell_pan_from_top.saturating_sub(1);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user