use rustea::{App, Command, Message, ResizeEvent}; struct Model { terminal_x: u16, terminal_y: u16, moved: bool, } impl App for Model { fn update(&mut self, msg: Message) -> Option { if let Ok(resize_event) = msg.downcast::() { self.moved = true; self.terminal_x = resize_event.0; self.terminal_y = resize_event.1; } None } fn view(&self) -> String { if self.moved { format!( "Terminal size: (x: {}, y: {})", self.terminal_x, self.terminal_y ) } else { "Resize terminal".to_string() } } } fn main() { let model = Model { terminal_x: 0, terminal_y: 0, moved: false, }; rustea::run(model).unwrap(); }