aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-06 16:20:12 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-06 16:20:12 -0500
commit00aaaf923e5d133b8f19d43860d00df9774cea7a (patch)
tree10d153e3f3beb74a7d6b8ae31d5c94f2e5dfe10d
parentd10dec63c7de4e756a099440f4dbf8445d31561e (diff)
downloadteleterm-00aaaf923e5d133b8f19d43860d00df9774cea7a.tar.gz
teleterm-00aaaf923e5d133b8f19d43860d00df9774cea7a.zip
move to origin when clearing
crossterm no longer does this by default
-rw-r--r--src/cmd/watch.rs29
1 files changed, 12 insertions, 17 deletions
diff --git a/src/cmd/watch.rs b/src/cmd/watch.rs
index 01340ff..d36a614 100644
--- a/src/cmd/watch.rs
+++ b/src/cmd/watch.rs
@@ -330,13 +330,7 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
id,
);
self.state.watching(client);
- crossterm::execute!(
- std::io::stdout(),
- crossterm::terminal::Clear(
- crossterm::terminal::ClearType::All
- )
- )
- .context(crate::error::WriteTerminalCrossterm)?;
+ clear()?;
}
}
_ => {}
@@ -422,11 +416,7 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
}
fn display_loading_screen(&self) -> Result<()> {
- crossterm::execute!(
- std::io::stdout(),
- crossterm::terminal::Clear(crossterm::terminal::ClearType::All)
- )
- .context(crate::error::WriteTerminalCrossterm)?;
+ clear()?;
println!("loading...\r");
if let Some(err) = self.list_client.last_error() {
@@ -492,11 +482,7 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
- watch_width
- 3;
- crossterm::execute!(
- std::io::stdout(),
- crossterm::terminal::Clear(crossterm::terminal::ClearType::All)
- )
- .context(crate::error::WriteTerminalCrossterm)?;
+ clear()?;
println!("welcome to teleterm\r");
println!("available sessions:\r");
println!("\r");
@@ -727,6 +713,15 @@ fn truncate(s: &str, len: usize) -> String {
}
}
+fn clear() -> Result<()> {
+ crossterm::execute!(
+ std::io::stdout(),
+ crossterm::cursor::MoveTo(0, 0),
+ crossterm::terminal::Clear(crossterm::terminal::ClearType::All)
+ )
+ .context(crate::error::WriteTerminalCrossterm)
+}
+
#[cfg(test)]
mod test {
use super::*;