diff --git a/yazi-config/preset/yazi.toml b/yazi-config/preset/yazi.toml index c36417e2..7dc05fb5 100644 --- a/yazi-config/preset/yazi.toml +++ b/yazi-config/preset/yazi.toml @@ -14,6 +14,7 @@ show_hidden = false show_symlink = true scrolloff = 5 mouse_events = [ "click", "scroll" ] +update_title = true [preview] tab_size = 2 diff --git a/yazi-config/src/manager/manager.rs b/yazi-config/src/manager/manager.rs index cd980ac2..87736d93 100644 --- a/yazi-config/src/manager/manager.rs +++ b/yazi-config/src/manager/manager.rs @@ -23,6 +23,7 @@ pub struct Manager { pub show_symlink: bool, pub scrolloff: u8, pub mouse_events: MouseEvents, + pub update_title: bool, } impl FromStr for Manager { diff --git a/yazi-core/src/manager/commands/refresh.rs b/yazi-core/src/manager/commands/refresh.rs index 8076c53e..ac750a7f 100644 --- a/yazi-core/src/manager/commands/refresh.rs +++ b/yazi-core/src/manager/commands/refresh.rs @@ -1,6 +1,7 @@ use std::{env, path::MAIN_SEPARATOR}; use crossterm::{execute, terminal::SetTitle}; +use yazi_config::MANAGER; use yazi_shared::event::Cmd; use crate::{manager::Manager, tasks::Tasks}; @@ -18,7 +19,10 @@ impl Manager { pub fn refresh(&mut self, _: Cmd, tasks: &Tasks) { env::set_current_dir(self.cwd()).ok(); env::set_var("PWD", self.cwd()); - execute!(std::io::stderr(), SetTitle(self.title())).ok(); + + if MANAGER.update_title { + execute!(std::io::stderr(), SetTitle(self.title())).ok(); + } self.active_mut().apply_files_attrs(); diff --git a/yazi-fm/src/term.rs b/yazi-fm/src/term.rs index f2950cdd..987c290f 100644 --- a/yazi-fm/src/term.rs +++ b/yazi-fm/src/term.rs @@ -4,7 +4,7 @@ use anyhow::Result; use crossterm::{cursor::{RestorePosition, SavePosition}, event::{DisableBracketedPaste, EnableBracketedPaste, KeyboardEnhancementFlags, PopKeyboardEnhancementFlags, PushKeyboardEnhancementFlags}, execute, queue, style::Print, terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, SetTitle}}; use ratatui::{backend::CrosstermBackend, buffer::Buffer, layout::Rect, CompletedFrame, Frame, Terminal}; use yazi_adapter::Emulator; -use yazi_config::INPUT; +use yazi_config::{INPUT, MANAGER}; static CSI_U: AtomicBool = AtomicBool::new(false); @@ -73,9 +73,12 @@ impl Term { execute!(stderr(), PopKeyboardEnhancementFlags).ok(); } + if MANAGER.update_title { + execute!(stderr(), SetTitle("")).ok(); + } + execute!( stderr(), - SetTitle(""), mouse::SetMouse(false), DisableBracketedPaste, LeaveAlternateScreen,