aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar lancebord 2026-03-09 14:06:54 -0400
committerGravatar lancebord 2026-03-09 14:06:54 -0400
commitd03b653370177c92a2fbecfe92677e347228ba1b (patch)
tree0eaa56782627dbcaf694ee3f5114e77d910f3e5d
parenthave password prompt instead of arg for more security (diff)
handle window resize events since draw is event driven now
-rw-r--r--src/main.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index aead1fd..9a5a69b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -40,6 +40,7 @@ struct Args {
enum AppEvent {
Key(KeyEvent),
Irc(IrcEvent),
+ Resize,
}
#[tokio::main]
@@ -108,6 +109,11 @@ async fn run(
break;
}
}
+ Some(Ok(Event::Resize(_, _))) => {
+ if kb_tx.send(AppEvent::Resize).is_err() {
+ break;
+ }
+ }
None => break,
_ => {}
}
@@ -130,7 +136,7 @@ async fn run(
// neither blocks the other.
// Main loop: sleeps until an event arrives, redraws only on state change
while let Some(event) = rx.recv().await {
- let mut dirty = true; // set false for events that don't change visible state
+ let mut dirty = true;
match event {
AppEvent::Key(key) => {
@@ -170,6 +176,8 @@ async fn run(
}
handle_irc_event(irc_event, &mut app);
}
+
+ AppEvent::Resize => {} // just needs to be handled so dirty is true
}
if dirty {