Fix Ctrl+C handling with proper tokio signal handler
Previous keyboard event polling didn't work for Ctrl+C in raw mode. Now using tokio::signal::ctrl_c() with a background task that signals the render loop through a channel when Ctrl+C is pressed. Changes: - Added "signal" and "sync" features to tokio dependency - Spawn background task to listen for Ctrl+C signal - Use mpsc channel to communicate signal to render loop - Keep 'q' and ESC keyboard shortcuts for convenience Ctrl+C now properly exits looping animations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -21,8 +21,8 @@ palette = "0.7"
|
||||
# Terminal manipulation
|
||||
crossterm = "0.27"
|
||||
|
||||
# Async runtime (for timing)
|
||||
tokio = { version = "1.35", features = ["time", "rt-multi-thread", "macros"] }
|
||||
# Async runtime (for timing and signal handling)
|
||||
tokio = { version = "1.35", features = ["time", "rt-multi-thread", "macros", "signal", "sync"] }
|
||||
|
||||
# Process execution
|
||||
which = "5.0"
|
||||
|
||||
Reference in New Issue
Block a user