From 12cd04fea2d49f712226b75922bc2c035729c201 Mon Sep 17 00:00:00 2001 From: Brandur Date: Sun, 5 Feb 2017 18:32:43 -0800 Subject: Add "Quit" action to allow exit on a Cmd-W or Cmd-Q Adds a new "Quit" action and binds it to Cmd-W and Cmd-Q on Mac OS in an attempt to make Alacritty feel more like a "normal" citizen of the operating system. Alternatives like Ctrl-D are okay, but I usually want to leave my shells nested within Tmux open even if I exit my terminal. It's also largely selfish: I've built up muscle memory over the years that takes my fingers to Cmd-Q first (and I suspect I'm not the only one). The implementation for an exit is copied from `event.rs` which notably is already tagged with a FIXME. It seems that `tty.rs` contains a `process_should_exit` system to help handle a `SIGCHLD`, and it's possible that these two exit implementations should be merged together. I could probably tackle that as my next project. As mentioned in #218, Alacritty can't really spawn other windows right now, so I've tied in Cmd-W as simply another synonym for quitting until that's implemented. Fixes #218. --- src/config.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/config.rs') diff --git a/src/config.rs b/src/config.rs index 05147631..d08b801b 100644 --- a/src/config.rs +++ b/src/config.rs @@ -352,7 +352,7 @@ impl de::Deserialize for ActionWrapper { type Value = ActionWrapper; fn expecting(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str("Paste, Copy, or PasteSelection") + f.write_str("Paste, Copy, PasteSelection, or Quit") } fn visit_str(self, value: &str) -> ::std::result::Result @@ -362,6 +362,7 @@ impl de::Deserialize for ActionWrapper { "Paste" => Action::Paste, "Copy" => Action::Copy, "PasteSelection" => Action::PasteSelection, + "Quit" => Action::Quit, _ => return Err(E::invalid_value(Unexpected::Str(value), &self)), })) } -- cgit v1.2.3-54-g00ecf