aboutsummaryrefslogtreecommitdiff
path: root/src/pane.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-13 14:14:40 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-13 14:15:26 +0300
commit4600309051e5d6bea1f64e72cec585b102117ce5 (patch)
tree8ca78803bbef8453bdd2d9a0de312201cd0ee60d /src/pane.rs
parentfb9aff54087aa8a606e9260a689986d2bd76f5fa (diff)
feat: support kitty graphics in attached clients
Diffstat (limited to 'src/pane.rs')
-rw-r--r--src/pane.rs21
1 files changed, 19 insertions, 2 deletions
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<crate::ghostty::KittyImagePlacement> {
- self.terminal.kitty_image_placements()
+ pub fn kitty_image_placements_with_data_filter<F>(
+ &self,
+ needs_data: F,
+ ) -> Vec<crate::ghostty::KittyImagePlacement>
+ 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 {