diff --git a/ui/src/lib.rs b/ui/src/lib.rs index 246ec75b8..bc7121862 100644 --- a/ui/src/lib.rs +++ b/ui/src/lib.rs @@ -52,6 +52,7 @@ use termion::{clear, style, cursor}; use termion::raw::IntoRawMode; use termion::event::{Key as TermionKey, }; use termion::input::TermRead; +use termion::screen::AlternateScreen; extern crate chan; #[macro_use] @@ -146,7 +147,7 @@ pub struct State { rows: usize, grid: CellBuffer, - stdout: termion::raw::RawTerminal, + stdout: termion::screen::AlternateScreen>, sender: Sender, entities: Vec, pub context: Context, @@ -164,6 +165,7 @@ impl State { pub fn new(stdout: W, sender: Sender) -> Self { let settings = Settings::new(); let backends = Backends::new(); + let stdout = AlternateScreen::from(stdout.into_raw_mode().unwrap()); let termsize = termion::terminal_size().ok(); let termcols = termsize.map(|(w,_)| w); @@ -176,7 +178,7 @@ impl State { cols: cols, rows: rows, grid: CellBuffer::new(cols, rows, Cell::with_char(' ')), - stdout: stdout.into_raw_mode().unwrap(), + stdout: stdout, sender: sender, entities: Vec::with_capacity(1),