aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-22 15:11:22 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-22 15:11:22 -0500
commitb6bfebb57804bc72fe1f85bcc050b548cb79a11d (patch)
treeb50a3adf14fefab7cf6215a0a48c5a5763cffe64
parent8ec55780d242581115bf964ef6d4cb0c79fea0df (diff)
downloadteleterm-b6bfebb57804bc72fe1f85bcc050b548cb79a11d.tar.gz
teleterm-b6bfebb57804bc72fe1f85bcc050b548cb79a11d.zip
make sure our terminal size is updated correctly
a couple of our in-memory terminal parsers were being stuck at 80x24
-rw-r--r--teleterm/src/cmd/stream.rs1
-rw-r--r--teleterm/src/server.rs3
2 files changed, 3 insertions, 1 deletions
diff --git a/teleterm/src/cmd/stream.rs b/teleterm/src/cmd/stream.rs
index 643b32a..83556de 100644
--- a/teleterm/src/cmd/stream.rs
+++ b/teleterm/src/cmd/stream.rs
@@ -265,6 +265,7 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
Some(tokio_pty_process_stream::Event::Resize {
size: (rows, cols),
}) => {
+ self.term.set_size(rows, cols);
self.client.send_message(crate::protocol::Message::resize(
crate::term::Size { rows, cols },
));
diff --git a/teleterm/src/server.rs b/teleterm/src/server.rs
index 4c44a01..1f8f442 100644
--- a/teleterm/src/server.rs
+++ b/teleterm/src/server.rs
@@ -180,10 +180,11 @@ impl ConnectionState {
term_info,
} = std::mem::replace(self, Self::Accepted)
{
+ let size = term_info.size;
*self = Self::Streaming {
username,
term_info,
- term: vt100::Parser::default(),
+ term: vt100::Parser::new(size.rows, size.cols, 0),
};
} else {
unreachable!()