aboutsummaryrefslogtreecommitdiff
path: root/src/pane
diff options
context:
space:
mode:
Diffstat (limited to 'src/pane')
-rw-r--r--src/pane/terminal.rs21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/pane/terminal.rs b/src/pane/terminal.rs
index 98888f6a..02e53352 100644
--- a/src/pane/terminal.rs
+++ b/src/pane/terminal.rs
@@ -613,7 +613,7 @@ impl GhosttyPaneTerminal {
reported_cwd
};
- let request_render = !synchronized_output && !has_kitty_graphics_sequence;
+ let request_render = !synchronized_output;
let render_delay = render_delay_after_pty_write(
synchronized_output,
has_kitty_graphics_sequence,
@@ -3514,6 +3514,25 @@ mod tests {
}
#[test]
+ fn kitty_graphics_write_requests_render_with_settle_backstop() {
+ crate::kitty_graphics::set_enabled(true);
+ let (tx, _rx) = mpsc::channel(4);
+ let terminal = crate::ghostty::Terminal::new(80, 24, 0).unwrap();
+ let pane_terminal = GhosttyPaneTerminal::new(terminal, tx.clone()).unwrap();
+ let pane_id = PaneId::from_raw(1);
+
+ let result = pane_terminal.process_pty_bytes(
+ pane_id,
+ 0,
+ b"\x1b_Ga=T,f=32,t=d,i=7,p=1,s=1,v=1,q=2;/wAA/w==\x1b\\",
+ &tx,
+ );
+
+ assert!(result.request_render);
+ assert_eq!(result.render_delay, Some(KITTY_GRAPHICS_REDRAW_SETTLE));
+ }
+
+ #[test]
fn seeded_history_is_rendered_on_next_draw() {
let (tx, _rx) = mpsc::channel(4);
let terminal = crate::ghostty::Terminal::new(20, 5, 100).unwrap();