diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-28 23:29:11 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-28 23:29:11 +0300 |
| commit | e27a4ea427c9ed6248c0ee80570e94ed7b1928bd (patch) | |
| tree | 0cae21a2b3939293be129aaaecb23641f68bab54 /src/workspace | |
| parent | e16d7d8c07a20f5ee0b4111808680bbcfd7df9ac (diff) | |
perf: skip rendering hidden pty updates
Diffstat (limited to 'src/workspace')
| -rw-r--r-- | src/workspace/tab.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/workspace/tab.rs b/src/workspace/tab.rs index e2f82741..55fa4c96 100644 --- a/src/workspace/tab.rs +++ b/src/workspace/tab.rs @@ -1,6 +1,5 @@ use std::collections::HashMap; use std::path::PathBuf; -use std::sync::atomic::AtomicBool; use std::sync::Arc; use ratatui::layout::Direction; @@ -9,6 +8,7 @@ use tokio::sync::{mpsc, Notify}; use crate::events::AppEvent; use crate::layout::{Node, PaneId, TileLayout}; use crate::pane::{PaneLaunchEnv, PaneState}; +use crate::render_signal::RenderSignal; use crate::terminal::{TerminalId, TerminalRuntime, TerminalRuntimeRegistry, TerminalState}; pub(crate) type DetachedPane = (PaneId, TerminalId); @@ -48,7 +48,7 @@ pub struct Tab { pub zoomed: bool, pub events: mpsc::Sender<AppEvent>, pub(crate) render_notify: Arc<Notify>, - pub(crate) render_dirty: Arc<AtomicBool>, + pub(crate) render_dirty: Arc<RenderSignal>, } impl Tab { @@ -63,7 +63,7 @@ impl Tab { launch_env: &PaneLaunchEnv, events: mpsc::Sender<AppEvent>, render_notify: Arc<Notify>, - render_dirty: Arc<AtomicBool>, + render_dirty: Arc<RenderSignal>, ) -> std::io::Result<(Self, TerminalState, TerminalRuntime)> { Self::new_with_runtime( number, @@ -92,7 +92,7 @@ impl Tab { launch_env: &PaneLaunchEnv, events: mpsc::Sender<AppEvent>, render_notify: Arc<Notify>, - render_dirty: Arc<AtomicBool>, + render_dirty: Arc<RenderSignal>, ) -> std::io::Result<(Self, TerminalState, TerminalRuntime)> { Self::new_with_runtime( number, @@ -122,7 +122,7 @@ impl Tab { launch_env: &PaneLaunchEnv, events: mpsc::Sender<AppEvent>, render_notify: Arc<Notify>, - render_dirty: Arc<AtomicBool>, + render_dirty: Arc<RenderSignal>, argv: Option<&[String]>, ) -> std::io::Result<(Self, TerminalState, TerminalRuntime)> { let (layout, root_id) = TileLayout::new(); @@ -439,7 +439,7 @@ impl Tab { moved: MovedPane, events: mpsc::Sender<AppEvent>, render_notify: Arc<Notify>, - render_dirty: Arc<AtomicBool>, + render_dirty: Arc<RenderSignal>, ) -> Self { let mut panes = HashMap::new(); let pane_id = moved.pane_id; |
