From 25aaa0b7e31b0b271ce72a69c9dd272d7ee83376 Mon Sep 17 00:00:00 2001 From: Can Celik Date: Sun, 27 Sep 2026 21:05:25 +0300 Subject: fix: keep offscreen kitty images loaded instead of resending them on scroll (#4686) --- src/pane/terminal.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/pane/terminal.rs') diff --git a/src/pane/terminal.rs b/src/pane/terminal.rs index 5eaddb21..8ac4bd1c 100644 --- a/src/pane/terminal.rs +++ b/src/pane/terminal.rs @@ -579,6 +579,10 @@ impl PaneTerminal { .kitty_image_placements_with_data_filter(needs_data) } + pub(crate) fn kitty_image_fingerprints(&self, image_ids: &[u32]) -> Vec> { + self.ghostty.kitty_image_fingerprints(image_ids) + } + pub fn apply_host_terminal_theme(&self, theme: crate::terminal_theme::TerminalTheme) { self.ghostty.apply_host_terminal_theme(theme); } @@ -2349,6 +2353,14 @@ impl GhosttyPaneTerminal { .unwrap_or_default() } + pub(crate) fn kitty_image_fingerprints(&self, image_ids: &[u32]) -> Vec> { + self.core + .lock() + .ok() + .and_then(|core| core.terminal.kitty_image_fingerprints(image_ids).ok()) + .unwrap_or_else(|| vec![None; image_ids.len()]) + } + pub fn render(&self, frame: &mut Frame, area: Rect, show_cursor: bool) { let Ok(mut core) = self.core.lock() else { return; -- cgit v1.2.3