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
This commit is contained in:
Christoffer Martinsson 2025-12-06 16:30:28 +01:00
parent bda76ba5a0
commit 8e2989731e
2 changed files with 8 additions and 1 deletions

View File

@ -227,6 +227,13 @@ async fn handle_key_event<B: ratatui::backend::Backend>(terminal: &mut Terminal<
tracing::info!("Playing: {:?} (playlist: {} tracks)", path, state.playlist.len()); 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(' '), _) => { (KeyCode::Char(' '), _) => {
match state.player_state { match state.player_state {
PlayerState::Playing => { PlayerState::Playing => {

View File

@ -251,7 +251,7 @@ fn render_status_bar(frame: &mut Frame, state: &AppState, area: Rect) {
frame.render_widget(status_bar, area); frame.render_widget(status_bar, area);
} else { } else {
// Normal mode shortcuts (always shown when not in search mode) // 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) let status_bar = Paragraph::new(shortcuts)
.style(Style::default().fg(Theme::muted_text()).bg(Theme::background())) .style(Style::default().fg(Theme::muted_text()).bg(Theme::background()))
.alignment(Alignment::Center); .alignment(Alignment::Center);