aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-07-18 03:56:51 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-07-18 03:56:51 +0300
commit02a6e874f67800891b5a549297219ed6f3ce0f2f (patch)
tree3f24e9d7f57f8b72576cca057111a34f65181f59 /src/client
parentc1f7b6f331501a784bfad896310eae1d064bd9b9 (diff)
perf: batch contiguous terminal diff writes
refs #283
Diffstat (limited to 'src/client')
-rw-r--r--src/client/mod.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/client/mod.rs b/src/client/mod.rs
index 90a73ec8..011de937 100644
--- a/src/client/mod.rs
+++ b/src/client/mod.rs
@@ -30,6 +30,7 @@ use crossterm::event::{KeyCode, KeyEventKind, KeyModifiers, MouseEventKind};
#[cfg(not(windows))]
use crossterm::event::{PopKeyboardEnhancementFlags, PushKeyboardEnhancementFlags};
use crossterm::execute;
+use crossterm::terminal::{DisableLineWrap, EnableLineWrap};
use interprocess::local_socket::traits::Stream as _;
use interprocess::TryClone as _;
use tracing::{debug, info, warn};
@@ -404,6 +405,8 @@ fn setup_terminal_with_capabilities(
io::stdout().flush()?;
}
+ execute!(io::stdout(), DisableLineWrap)?;
+
Ok(TerminalGuard {
reset_modify_other_keys: modify_other_keys_mode.is_some(),
reset_host_color_scheme_reports: host_color_scheme_reports,
@@ -576,6 +579,7 @@ fn restore_terminal_state(
let _ = execute!(
io::stdout(),
+ EnableLineWrap,
DisableFocusChange,
DisableBracketedPaste,
DisableMouseCapture