aboutsummaryrefslogtreecommitdiff
path: root/src/terminal/runtime.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-07-28 23:29:11 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-07-28 23:29:11 +0300
commite27a4ea427c9ed6248c0ee80570e94ed7b1928bd (patch)
tree0cae21a2b3939293be129aaaecb23641f68bab54 /src/terminal/runtime.rs
parente16d7d8c07a20f5ee0b4111808680bbcfd7df9ac (diff)
perf: skip rendering hidden pty updates
Diffstat (limited to 'src/terminal/runtime.rs')
-rw-r--r--src/terminal/runtime.rs14
1 files changed, 8 insertions, 6 deletions
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<AppEvent>,
render_notify: Arc<Notify>,
- render_dirty: Arc<AtomicBool>,
+ render_dirty: Arc<RenderSignal>,
) -> std::io::Result<Self> {
crate::pane::PaneRuntime::from_handoff_fd(
import,
@@ -88,7 +90,7 @@ impl TerminalRuntime {
launch_env: &crate::pane::PaneLaunchEnv,
events: mpsc::Sender<AppEvent>,
render_notify: Arc<Notify>,
- render_dirty: Arc<AtomicBool>,
+ render_dirty: Arc<RenderSignal>,
) -> std::io::Result<Self> {
crate::pane::PaneRuntime::spawn(
pane_id,
@@ -120,7 +122,7 @@ impl TerminalRuntime {
initial_history_ansi: Option<&str>,
events: mpsc::Sender<AppEvent>,
render_notify: Arc<Notify>,
- render_dirty: Arc<AtomicBool>,
+ render_dirty: Arc<RenderSignal>,
) -> std::io::Result<Self> {
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<AppEvent>,
render_notify: Arc<Notify>,
- render_dirty: Arc<AtomicBool>,
+ render_dirty: Arc<RenderSignal>,
) -> std::io::Result<Self> {
crate::pane::PaneRuntime::spawn_shell_command(
pane_id,
@@ -186,7 +188,7 @@ impl TerminalRuntime {
host_terminal_theme: crate::terminal_theme::TerminalTheme,
events: mpsc::Sender<AppEvent>,
render_notify: Arc<Notify>,
- render_dirty: Arc<AtomicBool>,
+ render_dirty: Arc<RenderSignal>,
) -> std::io::Result<Self> {
crate::pane::PaneRuntime::spawn_argv_command(
pane_id,