aboutsummaryrefslogtreecommitdiffstats
path: root/src/async.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/async.rs')
-rw-r--r--src/async.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/async.rs b/src/async.rs
index 5861443..92a4f30 100644
--- a/src/async.rs
+++ b/src/async.rs
@@ -50,9 +50,16 @@ impl Textmode {
}
pub async fn refresh(&mut self) -> std::io::Result<()> {
- let diff = self.next().screen().contents_diff(self.cur().screen());
- self.write_stdout(&diff).await?;
- self.cur_mut().process(&diff);
+ let diffs = &[
+ self.next().screen().contents_diff(self.cur().screen()),
+ self.next().screen().input_mode_diff(self.cur().screen()),
+ self.next().screen().title_diff(self.cur().screen()),
+ self.next().screen().bells_diff(self.cur().screen()),
+ ];
+ for diff in diffs {
+ self.write_stdout(&diff).await?;
+ self.cur_mut().process(&diff);
+ }
Ok(())
}