aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2024-04-28 16:27:03 +0530
committerkrolxon <krolyxon@tutanota.com>2024-04-28 16:27:03 +0530
commit5eafc1898bf41ce2e6d3a634724f9443546af614 (patch)
treeacf9366842bb6485353109c2ddb85718bb9935f2
parentb9d61698523b2489fe831e8acaf1684b065a2c17 (diff)
keybind: goto top, bottom
-rwxr-xr-xREADME.md4
-rwxr-xr-xsrc/app.rs1
-rwxr-xr-xsrc/handler.rs17
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
+ }
+ }
_ => {}
}
}