aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-12-14 20:20:00 -0500
committerJesse Luehrs <doy@tozt.net>2021-12-14 20:20:00 -0500
commit4002204f0ce7ee98975ebbdec9c8afdf5445c4d0 (patch)
tree809766df0c30d9851ba323539f88672e574fdc15
parent95098ed4bda1e7333de66ff94e309446322869b5 (diff)
downloadttyrec-bin-4002204f0ce7ee98975ebbdec9c8afdf5445c4d0.tar.gz
ttyrec-bin-4002204f0ce7ee98975ebbdec9c8afdf5445c4d0.zip
clean up a bit
-rw-r--r--src/bin/ttyrec/main.rs38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/bin/ttyrec/main.rs b/src/bin/ttyrec/main.rs
index 55e24f6..f7d3500 100644
--- a/src/bin/ttyrec/main.rs
+++ b/src/bin/ttyrec/main.rs
@@ -63,30 +63,20 @@ enum Event {
Error(anyhow::Error),
}
-async fn resize(event_w: &async_std::channel::Sender<Event>) {
- let size = terminal_size::terminal_size().map_or(
- (24, 80),
- |(terminal_size::Width(w), terminal_size::Height(h))| (h, w),
- );
- event_w
- .send(Event::Resize(size))
- .await
- // event_w is never closed, so this can never fail
- .unwrap_or_else(|_| unreachable!());
-}
-
async fn async_main(opt: Opt) -> anyhow::Result<()> {
let Opt { cmd, file } = opt;
let (cmd, args) = get_cmd(cmd);
- let size = terminal_size::terminal_size().map_or(
- (24, 80),
- |(terminal_size::Width(w), terminal_size::Height(h))| (h, w),
- );
let fh = async_std::fs::File::create(file).await?;
+
let mut input = textmode::Input::new().await?;
let _input_guard = input.take_raw_guard();
let mut stdout = async_std::io::stdout();
+
+ let size = terminal_size::terminal_size().map_or(
+ (24, 80),
+ |(terminal_size::Width(w), terminal_size::Height(h))| (h, w),
+ );
let child = async_std::process::Command::new(cmd)
.args(args)
.spawn_pty(Some(&pty_process::Size::new(size.0, size.1)))?;
@@ -102,7 +92,19 @@ async fn async_main(opt: Opt) -> anyhow::Result<()> {
let event_w = event_w.clone();
async_std::task::spawn(async move {
while signals.next().await.is_some() {
- resize(&event_w).await;
+ event_w
+ .send(Event::Resize(
+ terminal_size::terminal_size().map_or(
+ (24, 80),
+ |(
+ terminal_size::Width(w),
+ terminal_size::Height(h),
+ )| { (h, w) },
+ ),
+ ))
+ .await
+ // event_w is never closed, so this can never fail
+ .unwrap_or_else(|_| unreachable!());
}
});
}
@@ -178,8 +180,6 @@ async fn async_main(opt: Opt) -> anyhow::Result<()> {
});
}
- resize(&event_w).await;
-
let mut writer = ttyrec::Writer::new(fh);
loop {
match event_r.recv().await? {