aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWesley Gahr <wesleyey0408@gmail.com>2017-12-24 19:24:28 +0100
committerJoe Wilm <jwilm@users.noreply.github.com>2017-12-24 10:24:28 -0800
commited91eb365e8e24b0ef64351235ab3f8022a8e7b3 (patch)
tree75e36a347fd48595486ca2e059934aad55e14855
parent4fb2109497daddcc2f2f855f23073a4aa699463a (diff)
downloadalacritty-ed91eb365e8e24b0ef64351235ab3f8022a8e7b3.tar.gz
alacritty-ed91eb365e8e24b0ef64351235ab3f8022a8e7b3.zip
Adding dynamic_title property to configuration (#819)
This logic is applied in Term's ansi::Handler implementation to avoid unnecessary allocations.
-rw-r--r--alacritty.yml2
-rw-r--r--alacritty_macos.yml2
-rw-r--r--src/config.rs10
-rw-r--r--src/term/mod.rs8
4 files changed, 21 insertions, 1 deletions
diff --git a/alacritty.yml b/alacritty.yml
index ed4e83fa..bf9451c7 100644
--- a/alacritty.yml
+++ b/alacritty.yml
@@ -204,6 +204,8 @@ mouse:
selection:
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
+dynamic_title: true
+
hide_cursor_when_typing: false
# Style of the cursor
diff --git a/alacritty_macos.yml b/alacritty_macos.yml
index 0c988a3e..b2b76781 100644
--- a/alacritty_macos.yml
+++ b/alacritty_macos.yml
@@ -185,6 +185,8 @@ mouse:
selection:
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
+dynamic_title: true
+
hide_cursor_when_typing: false
# Style of the cursor
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