aboutsummaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
authorChristian Duerr <chrisduerr@users.noreply.github.com>2018-07-21 17:17:41 +0000
committerGitHub <noreply@github.com>2018-07-21 17:17:41 +0000
commitf50ca1a54c94fe324d22d985c1acae1ff7c16a80 (patch)
tree7fc2e79f7dccf512fe71f841ef5434e0b1d2b5d7 /src/config.rs
parentb05ad74fe6d42ce0f913e02ef633ca119fc0b43e (diff)
downloadalacritty-f50ca1a54c94fe324d22d985c1acae1ff7c16a80.tar.gz
alacritty-f50ca1a54c94fe324d22d985c1acae1ff7c16a80.zip
Scrollback cleanup
There were some unneeded codeblocks and TODO/XXX comments in the code that have been removed. All issues marked with TODO/XXX have either been already resolved or tracking issues exist.
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs60
1 files changed, 53 insertions, 7 deletions
diff --git a/src/config.rs b/src/config.rs
index b9c943ee..7d8600f4 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -23,6 +23,7 @@ use notify::{Watcher, watcher, DebouncedEvent, RecursiveMode};
use glutin::ModifiersState;
+use cli::Options;
use input::{Action, Binding, MouseBinding, KeyBinding};
use index::{Line, Column};
use ansi::CursorStyle;
@@ -224,7 +225,7 @@ impl Alpha {
}
#[inline]
- pub fn get(&self) -> f32 {
+ pub fn get(self) -> f32 {
self.0
}
@@ -1446,6 +1447,14 @@ impl Config {
Ok(config)
}
+ /// Overrides the `dynamic_title` configuration based on `--title`.
+ pub fn update_dynamic_title(mut self, options: &Options) -> Self {
+ if options.title.is_some() {
+ self.dynamic_title = false;
+ }
+ self
+ }
+
fn read_file<P: AsRef<Path>>(path: P) -> Result<String> {
let mut f = fs::File::open(path)?;
let mut contents = String::new();
@@ -1609,7 +1618,10 @@ pub struct Font {
glyph_offset: Delta<i8>,
#[serde(default="true_bool", deserialize_with = "default_true_bool")]
- use_thin_strokes: bool
+ use_thin_strokes: bool,
+
+ #[serde(default="true_bool", deserialize_with = "default_true_bool")]
+ scale_with_dpi: bool,
}
fn default_bold_desc() -> FontDescription {
@@ -1662,6 +1674,11 @@ impl Font {
.. self
}
}
+
+ /// Check whether dpi should be applied
+ pub fn scale_with_dpi(&self) -> bool {
+ self.scale_with_dpi
+ }
}
#[cfg(target_os = "macos")]
@@ -1673,8 +1690,9 @@ impl Default for Font {
italic: FontDescription::new_with_family("Menlo"),
size: Size::new(11.0),
use_thin_strokes: true,
+ scale_with_dpi: true,
+ glyph_offset: Default::default(),
offset: Default::default(),
- glyph_offset: Default::default()
}
}
}
@@ -1688,8 +1706,9 @@ impl Default for Font {
italic: FontDescription::new_with_family("monospace"),
size: Size::new(11.0),
use_thin_strokes: false,
+ scale_with_dpi: true,
+ glyph_offset: Default::default(),
offset: Default::default(),
- glyph_offset: Default::default()
}
}
}
@@ -1771,6 +1790,7 @@ impl Monitor {
#[cfg(test)]
mod tests {
+ use cli::Options;
use super::Config;
#[cfg(target_os="macos")]
@@ -1791,9 +1811,29 @@ mod tests {
// Sanity check that key bindings are being parsed
assert!(!config.key_bindings.is_empty());
}
+
+ #[test]
+ fn dynamic_title_ignoring_options_by_default() {
+ let config: Config = ::serde_yaml::from_str(ALACRITTY_YML)
+ .expect("deserialize config");
+ let old_dynamic_title = config.dynamic_title;
+ let options = Options::default();
+ let config = config.update_dynamic_title(&options);
+ assert_eq!(old_dynamic_title, config.dynamic_title);
+ }
+
+ #[test]
+ fn dynamic_title_overridden_by_options() {
+ let config: Config = ::serde_yaml::from_str(ALACRITTY_YML)
+ .expect("deserialize config");
+ let mut options = Options::default();
+ options.title = Some("foo".to_owned());
+ let config = config.update_dynamic_title(&options);
+ assert!(!config.dynamic_title);
+ }
}
-#[cfg_attr(feature = "clippy", allow(enum_variant_names))]
+#[cfg_attr(feature = "cargo-clippy", allow(enum_variant_names))]
#[derive(Deserialize, Copy, Clone)]
enum Key {
Key1,
@@ -1947,13 +1987,16 @@ enum Key {
WebStop,
Yen,
Caret,
+ Copy,
+ Paste,
+ Cut,
}
impl Key {
- fn to_glutin_key(&self) -> ::glutin::VirtualKeyCode {
+ fn to_glutin_key(self) -> ::glutin::VirtualKeyCode {
use ::glutin::VirtualKeyCode::*;
// Thank you, vim macros!
- match *self {
+ match self {
Key::Key1 => Key1,
Key::Key2 => Key2,
Key::Key3 => Key3,
@@ -2105,6 +2148,9 @@ impl Key {
Key::WebStop => WebStop,
Key::Yen => Yen,
Key::Caret => Caret,
+ Key::Copy => Copy,
+ Key::Paste => Paste,
+ Key::Cut => Cut,
}
}
}