aboutsummaryrefslogtreecommitdiff
path: root/src/term
diff options
context:
space:
mode:
authorChristian Duerr <chrisduerr@users.noreply.github.com>2018-11-19 08:33:48 +0000
committerGitHub <noreply@github.com>2018-11-19 08:33:48 +0000
commit42d89899162164128364c503cee29dc65103d55d (patch)
tree8e1511b4a5438272d1e9e958107a04f061b720d5 /src/term
parente429b8dfdda3228838cd839783d17376a65b44fe (diff)
downloadalacritty-42d89899162164128364c503cee29dc65103d55d.tar.gz
alacritty-42d89899162164128364c503cee29dc65103d55d.zip
Add keybinding action for clearing warns/errors
Since running `clear` inside of tmux doesn't actually clear any part of the screen, but just resets the scrolling region, the warning and error notices can't be removed without quitting tmux or Alacritty. As a solution, a new action `ClearLogNotice` has been added which has been bound to Ctrl+L by default. As a result, Ctrl+L can be used inside of tmux to remove the messages, even though tmux doesn't clear the screen. This fixes #1811.
Diffstat (limited to 'src/term')
-rw-r--r--src/term/mod.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/term/mod.rs b/src/term/mod.rs
index 0f228f86..5107dc2d 100644
--- a/src/term/mod.rs
+++ b/src/term/mod.rs
@@ -877,6 +877,14 @@ impl Term {
&self.grid.selection
}
+ /// Clear displayed errors and warnings.
+ pub fn clear_log(&mut self) {
+ if let Some(ref mut logger_proxy) = self.logger_proxy {
+ logger_proxy.clear();
+ }
+ }
+
+
pub fn selection_mut(&mut self) -> &mut Option<Selection> {
&mut self.grid.selection
}
@@ -1831,11 +1839,7 @@ impl ansi::Handler for Term {
}
},
ansi::ClearMode::All => {
- // Clear displayed errors and warnings
- if let Some(ref mut logger_proxy) = self.logger_proxy {
- logger_proxy.clear();
- }
-
+ self.clear_log();
self.grid.region_mut(..).each(|c| c.reset(&template));
},
ansi::ClearMode::Above => {