From 5eafc1898bf41ce2e6d3a634724f9443546af614 Mon Sep 17 00:00:00 2001 From: krolxon Date: Sun, 28 Apr 2024 16:27:03 +0530 Subject: [PATCH] keybind: goto top, bottom --- README.md | 4 +++- src/app.rs | 1 - src/handler.rs | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ffe2998..0d4e2b7 100755 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ A MPD client in Rust - `3` to go to playlists view - `Enter` to add song/playlist to current playlist - `a` to append the song to current playing queue -- `BackSpace` to delete the highlighted song from queue +- `Space`/`BackSpace` to delete the highlighted song from queue - `f` to go forwards - `b` to go backwards - `>` to play next song from queue @@ -29,6 +29,8 @@ A MPD client in Rust - `r` to toggle repeat - `z` to toggle random - `/` to search +- `g` to go to top of list +- `G` to go to bottom of list ### TODO - [x] fix performance issues diff --git a/src/app.rs b/src/app.rs index 081efc6..5c74245 100755 --- a/src/app.rs +++ b/src/app.rs @@ -160,7 +160,6 @@ impl App { browser.prev_path = browser.path.clone(); browser.path = browser.prev_path.clone() + "/" + path; browser.update_directory(&mut self.conn)?; - // self.get_all_rsongs(conn)?; browser.prev_selected = browser.selected; browser.selected = 0; } diff --git a/src/handler.rs b/src/handler.rs index ab09050..91dcec7 100755 --- a/src/handler.rs +++ b/src/handler.rs @@ -329,6 +329,23 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> { // Change playlist name KeyCode::Char('e') => if app.selected_tab == SelectedTab::Playlists {}, + // go to top of list + KeyCode::Char('g') => { + match app.selected_tab { + SelectedTab::Queue => app.queue_list.index = 0, + SelectedTab::DirectoryBrowser => app.browser.selected = 0, + SelectedTab::Playlists => app.pl_list.index = 0 + } + } + + // go to bottom of list + KeyCode::Char('G') => { + match app.selected_tab { + SelectedTab::Queue => app.queue_list.index = app.queue_list.list.len() - 1, + SelectedTab::DirectoryBrowser => app.browser.selected = app.browser.filetree.len() - 1, + SelectedTab::Playlists => app.pl_list.index = app.pl_list.list.len() - 1 + } + } _ => {} } }