11use std:: { io, ops:: { Deref , DerefMut } , sync:: atomic:: { AtomicBool , Ordering } } ;
22
33use anyhow:: Result ;
4- use crossterm:: { Command , event:: { DisableBracketedPaste , DisableMouseCapture , EnableBracketedPaste , EnableMouseCapture , KeyboardEnhancementFlags , PopKeyboardEnhancementFlags , PushKeyboardEnhancementFlags } , execute, queue, style:: Print , terminal:: { EnterAlternateScreen , LeaveAlternateScreen , SetTitle , disable_raw_mode, enable_raw_mode} } ;
4+ use crossterm:: { event:: { DisableBracketedPaste , DisableMouseCapture , EnableBracketedPaste , EnableMouseCapture , KeyboardEnhancementFlags , PopKeyboardEnhancementFlags , PushKeyboardEnhancementFlags } , execute, queue, style:: Print , terminal:: { EnterAlternateScreen , LeaveAlternateScreen , SetTitle , disable_raw_mode, enable_raw_mode} } ;
55use ratatui:: { CompletedFrame , Frame , Terminal , backend:: CrosstermBackend , buffer:: Buffer , layout:: Rect } ;
66use yazi_adapter:: { Emulator , Mux , TMUX } ;
77use yazi_config:: YAZI ;
@@ -48,11 +48,13 @@ impl Term {
4848 yazi_term:: RestoreCursor :: store ( & resp) ;
4949 CSI_U . store ( resp. contains ( "\x1b [?0u" ) , Ordering :: Relaxed ) ;
5050 if CSI_U . load ( Ordering :: Relaxed ) {
51- PushKeyboardEnhancementFlags (
52- KeyboardEnhancementFlags :: DISAMBIGUATE_ESCAPE_CODES
53- | KeyboardEnhancementFlags :: REPORT_ALTERNATE_KEYS ,
54- )
55- . write_ansi ( & mut TTY . writer ( ) ) ?;
51+ _ = queue ! (
52+ TTY . writer( ) ,
53+ PushKeyboardEnhancementFlags (
54+ KeyboardEnhancementFlags :: DISAMBIGUATE_ESCAPE_CODES
55+ | KeyboardEnhancementFlags :: REPORT_ALTERNATE_KEYS ,
56+ )
57+ ) ;
5658 }
5759
5860 if let Some ( s) = YAZI . mgr . title ( ) {
@@ -67,7 +69,7 @@ impl Term {
6769
6870 fn stop ( & mut self ) -> Result < ( ) > {
6971 if CSI_U . swap ( false , Ordering :: Relaxed ) {
70- PopKeyboardEnhancementFlags . write_ansi ( & mut TTY . writer ( ) ) ? ;
72+ queue ! ( TTY . writer( ) , PopKeyboardEnhancementFlags ) . ok ( ) ;
7173 }
7274
7375 if !YAZI . mgr . title_format . is_empty ( ) {
@@ -88,7 +90,7 @@ impl Term {
8890
8991 pub ( super ) fn goodbye ( f : impl FnOnce ( ) -> i32 ) -> ! {
9092 if CSI_U . swap ( false , Ordering :: Relaxed ) {
91- PopKeyboardEnhancementFlags . write_ansi ( & mut TTY . writer ( ) ) . ok ( ) ;
93+ queue ! ( TTY . writer( ) , PopKeyboardEnhancementFlags ) . ok ( ) ;
9294 }
9395
9496 if !YAZI . mgr . title_format . is_empty ( ) {
0 commit comments