From 8e2989731ec03a3638479780147d7f770131ea5c Mon Sep 17 00:00:00 2001 From: Christoffer Martinsson Date: Sat, 6 Dec 2025 16:30:28 +0100 Subject: [PATCH] Add Shift+Space to stop playback - Shift+Space now stops playback and resets position - Updated status bar to show stop shortcut - Shortened status bar text to fit stop command --- src/main.rs | 7 +++++++ src/ui/mod.rs | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 50fcf6f..90a5da2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -227,6 +227,13 @@ async fn handle_key_event(terminal: &mut Terminal< tracing::info!("Playing: {:?} (playlist: {} tracks)", path, state.playlist.len()); } } + (KeyCode::Char(' '), KeyModifiers::SHIFT) => { + // Shift+Space: Stop playback + state.player_state = PlayerState::Stopped; + state.current_position = 0.0; + state.current_duration = 0.0; + tracing::info!("Stopped"); + } (KeyCode::Char(' '), _) => { match state.player_state { PlayerState::Playing => { diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 98d791c..abd6aca 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -251,7 +251,7 @@ fn render_status_bar(frame: &mut Frame, state: &AppState, area: Rect) { frame.render_widget(status_bar, area); } else { // Normal mode shortcuts (always shown when not in search mode) - let shortcuts = "/: Search • v: Mark • a: Add to Playlist • c: Clear Playlist • Enter: Play • Space: Pause • ←→: Seek • +/-: Volume • n/p: Next/Prev • r: Rescan • q: Quit"; + let shortcuts = "/: Search • v: Mark • a: Add • c: Clear • Enter: Play • Space: Pause • Shift+Space: Stop • ←→: Seek • +/-: Vol • n/p: Next/Prev • r: Rescan • q: Quit"; let status_bar = Paragraph::new(shortcuts) .style(Style::default().fg(Theme::muted_text()).bg(Theme::background())) .alignment(Alignment::Center);