diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-18 03:56:51 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-18 03:56:51 +0300 |
| commit | 02a6e874f67800891b5a549297219ed6f3ce0f2f (patch) | |
| tree | 3f24e9d7f57f8b72576cca057111a34f65181f59 /src/client | |
| parent | c1f7b6f331501a784bfad896310eae1d064bd9b9 (diff) | |
perf: batch contiguous terminal diff writes
refs #283
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/mod.rs | 4 |
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 |
