diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/config.rs | 10 | ||||
-rw-r--r-- | src/term/mod.rs | 8 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/config.rs b/src/config.rs index 7d3fa16f..b941c882 100644 --- a/src/config.rs +++ b/src/config.rs @@ -307,6 +307,10 @@ pub struct Config { #[serde(default)] visual_bell: VisualBellConfig, + /// Use dynamic title + #[serde(default="true_bool")] + dynamic_title: bool, + /// Hide cursor when typing #[serde(default)] hide_cursor_when_typing: bool, @@ -371,6 +375,7 @@ impl Default for Config { env: Default::default(), hide_cursor_when_typing: Default::default(), cursor_style: Default::default(), + dynamic_title: Default::default(), live_config_reload: true, window: Default::default(), } @@ -1240,6 +1245,11 @@ impl Config { self.live_config_reload } + #[inline] + pub fn dynamic_title(&self) -> bool { + self.dynamic_title + } + pub fn load_from<P: Into<PathBuf>>(path: P) -> Result<Config> { let path = path.into(); let raw = Config::read_file(path.as_path())?; diff --git a/src/term/mod.rs b/src/term/mod.rs index 571686c1..98e08e6c 100644 --- a/src/term/mod.rs +++ b/src/term/mod.rs @@ -703,6 +703,8 @@ pub struct Term { /// Default style for resetting the cursor default_cursor_style: CursorStyle, + + dynamic_title: bool, } /// Terminal size info @@ -806,6 +808,7 @@ impl Term { semantic_escape_chars: config.selection().semantic_escape_chars.clone(), cursor_style: None, default_cursor_style: config.cursor_style(), + dynamic_title: config.dynamic_title(), } } @@ -831,6 +834,7 @@ impl Term { } self.visual_bell.update_config(config); self.default_cursor_style = config.cursor_style(); + self.dynamic_title = config.dynamic_title(); } #[inline] @@ -1159,7 +1163,9 @@ impl ansi::Handler for Term { /// Set the window title #[inline] fn set_title(&mut self, title: &str) { - self.next_title = Some(title.to_owned()); + if self.dynamic_title { + self.next_title = Some(title.to_owned()); + } } /// A character to be displayed |