diff options
Diffstat (limited to 'alacritty_terminal')
-rw-r--r-- | alacritty_terminal/src/ansi.rs | 3 | ||||
-rw-r--r-- | alacritty_terminal/src/term/mod.rs | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/alacritty_terminal/src/ansi.rs b/alacritty_terminal/src/ansi.rs index 91dd5f77..5c2c9e57 100644 --- a/alacritty_terminal/src/ansi.rs +++ b/alacritty_terminal/src/ansi.rs @@ -402,6 +402,8 @@ pub enum Mode { SgrMouse = 1006, /// ?1007 AlternateScroll = 1007, + /// ?1042 + UrgencyHints = 1042, /// ?1049 SwapScreenAndSetRestoreCursor = 1049, /// ?2004 @@ -434,6 +436,7 @@ impl Mode { 1005 => Mode::Utf8Mouse, 1006 => Mode::SgrMouse, 1007 => Mode::AlternateScroll, + 1042 => Mode::UrgencyHints, 1049 => Mode::SwapScreenAndSetRestoreCursor, 2004 => Mode::BracketedPaste, _ => { diff --git a/alacritty_terminal/src/term/mod.rs b/alacritty_terminal/src/term/mod.rs index a33ac919..59549106 100644 --- a/alacritty_terminal/src/term/mod.rs +++ b/alacritty_terminal/src/term/mod.rs @@ -480,13 +480,17 @@ pub mod mode { const UTF8_MOUSE = 0b0000_0100_0000_0000_0000; const ALTERNATE_SCROLL = 0b0000_1000_0000_0000_0000; const VI = 0b0001_0000_0000_0000_0000; + const URGENCY_HINTS = 0b0010_0000_0000_0000_0000; const ANY = std::u32::MAX; } } impl Default for TermMode { fn default() -> TermMode { - TermMode::SHOW_CURSOR | TermMode::LINE_WRAP | TermMode::ALTERNATE_SCROLL + TermMode::SHOW_CURSOR + | TermMode::LINE_WRAP + | TermMode::ALTERNATE_SCROLL + | TermMode::URGENCY_HINTS } } } @@ -2132,6 +2136,7 @@ impl<T: EventListener> Handler for Term<T> { fn set_mode(&mut self, mode: ansi::Mode) { trace!("Setting mode: {:?}", mode); match mode { + ansi::Mode::UrgencyHints => self.mode.insert(TermMode::URGENCY_HINTS), ansi::Mode::SwapScreenAndSetRestoreCursor => { if !self.mode.contains(TermMode::ALT_SCREEN) { self.swap_alt(); @@ -2182,6 +2187,7 @@ impl<T: EventListener> Handler for Term<T> { fn unset_mode(&mut self, mode: ansi::Mode) { trace!("Unsetting mode: {:?}", mode); match mode { + ansi::Mode::UrgencyHints => self.mode.remove(TermMode::URGENCY_HINTS), ansi::Mode::SwapScreenAndSetRestoreCursor => { if self.mode.contains(TermMode::ALT_SCREEN) { self.swap_alt(); |