diff options
| author | krolxon <krolyxon@tutanota.com> | 2024-04-28 16:27:03 +0530 |
|---|---|---|
| committer | krolxon <krolyxon@tutanota.com> | 2024-04-28 16:27:03 +0530 |
| commit | 5eafc1898bf41ce2e6d3a634724f9443546af614 (patch) | |
| tree | acf9366842bb6485353109c2ddb85718bb9935f2 | |
| parent | b9d61698523b2489fe831e8acaf1684b065a2c17 (diff) | |
keybind: goto top, bottom
| -rwxr-xr-x | README.md | 4 | ||||
| -rwxr-xr-x | src/app.rs | 1 | ||||
| -rwxr-xr-x | src/handler.rs | 17 |
3 files changed, 20 insertions, 2 deletions
@@ -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 @@ -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 + } + } _ => {} } } |
