ac12f9e398
MC uses SIGWINCH→self-pipe→select(stdin+pipe) for resize detection. In safe Rust (#![deny(unsafe_code)]), the equivalent is polling stdin with a 200ms timeout via rustix::event::poll. This wakes the main loop every 200ms even without key input, allowing terminal size check and full redraw on resize. Same result as MC's signal-driven approach without requiring unsafe signal handlers. Previously the event loop blocked indefinitely on events.next() — terminal resize was only detected on the next keypress.