From e27a4ea427c9ed6248c0ee80570e94ed7b1928bd Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Tue, 28 Jul 2026 23:29:11 +0300 Subject: perf: skip rendering hidden pty updates --- src/terminal/id.rs | 4 ++++ src/terminal/runtime.rs | 14 ++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'src/terminal') diff --git a/src/terminal/id.rs b/src/terminal/id.rs index 53ef6786..c7310753 100644 --- a/src/terminal/id.rs +++ b/src/terminal/id.rs @@ -20,6 +20,10 @@ impl TerminalId { let counter = NEXT_TERMINAL_ID.fetch_add(1, Ordering::Relaxed); Self(format!("term_{micros:x}{counter:x}")) } + + pub(crate) fn as_str(&self) -> &str { + &self.0 + } } impl fmt::Display for TerminalId { diff --git a/src/terminal/runtime.rs b/src/terminal/runtime.rs index f9858ce0..d4b66f06 100644 --- a/src/terminal/runtime.rs +++ b/src/terminal/runtime.rs @@ -1,4 +1,6 @@ -use std::sync::{atomic::AtomicBool, Arc}; +use std::sync::Arc; + +use crate::render_signal::RenderSignal; use bytes::Bytes; use ratatui::{layout::Rect, Frame}; @@ -64,7 +66,7 @@ impl TerminalRuntime { host_terminal_theme: crate::terminal_theme::TerminalTheme, events: mpsc::Sender, render_notify: Arc, - render_dirty: Arc, + render_dirty: Arc, ) -> std::io::Result { crate::pane::PaneRuntime::from_handoff_fd( import, @@ -88,7 +90,7 @@ impl TerminalRuntime { launch_env: &crate::pane::PaneLaunchEnv, events: mpsc::Sender, render_notify: Arc, - render_dirty: Arc, + render_dirty: Arc, ) -> std::io::Result { crate::pane::PaneRuntime::spawn( pane_id, @@ -120,7 +122,7 @@ impl TerminalRuntime { initial_history_ansi: Option<&str>, events: mpsc::Sender, render_notify: Arc, - render_dirty: Arc, + render_dirty: Arc, ) -> std::io::Result { crate::pane::PaneRuntime::spawn_with_initial_history( pane_id, @@ -153,7 +155,7 @@ impl TerminalRuntime { host_terminal_theme: crate::terminal_theme::TerminalTheme, events: mpsc::Sender, render_notify: Arc, - render_dirty: Arc, + render_dirty: Arc, ) -> std::io::Result { crate::pane::PaneRuntime::spawn_shell_command( pane_id, @@ -186,7 +188,7 @@ impl TerminalRuntime { host_terminal_theme: crate::terminal_theme::TerminalTheme, events: mpsc::Sender, render_notify: Arc, - render_dirty: Arc, + render_dirty: Arc, ) -> std::io::Result { crate::pane::PaneRuntime::spawn_argv_command( pane_id, -- cgit v1.2.3