From 4600309051e5d6bea1f64e72cec585b102117ce5 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Wed, 13 May 2026 14:14:40 +0300 Subject: feat: support kitty graphics in attached clients --- src/pane.rs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/pane.rs') diff --git a/src/pane.rs b/src/pane.rs index e9a35357..8a89fa54 100644 --- a/src/pane.rs +++ b/src/pane.rs @@ -437,6 +437,16 @@ impl PaneRuntime { if result.request_render && !render_dirty.swap(true, Ordering::AcqRel) { render_notify.notify_one(); } + if let Some(delay) = result.render_delay { + let render_notify = render_notify.clone(); + let render_dirty = render_dirty.clone(); + rt.spawn(async move { + tokio::time::sleep(delay).await; + if !render_dirty.swap(true, Ordering::AcqRel) { + render_notify.notify_one(); + } + }); + } for content in result.clipboard_writes { if let Err(err) = rt.block_on(events.send(AppEvent::ClipboardWrite { content })) @@ -817,8 +827,15 @@ impl PaneRuntime { self.terminal.visible_hyperlinks(area) } - pub fn kitty_image_placements(&self) -> Vec { - self.terminal.kitty_image_placements() + pub fn kitty_image_placements_with_data_filter( + &self, + needs_data: F, + ) -> Vec + where + F: FnMut(crate::ghostty::KittyImageDescriptor) -> bool, + { + self.terminal + .kitty_image_placements_with_data_filter(needs_data) } pub fn keyboard_protocol(&self) -> crate::input::KeyboardProtocol { -- cgit v1.2.3