mierak / rmpc

A configurable, terminal based Media Player Client with album art support via various terminal image protocols
https://mierak.github.io/rmpc/
BSD 3-Clause "New" or "Revised" License
86 stars 3 forks source link

Arrow keys in Queue support? #79

Closed Solarunit closed 2 hours ago

Solarunit commented 2 hours ago

Is it possible to use Arrow keys in Queue tab? Like Up and Down.

mierak commented 2 hours ago

Keybinds are customizable. https://mierak.github.io/rmpc/configuration/keybinds/#navigation in your config.ron

...
navigation: {
    "<Up>":         Up,
    "<Down>":       Down,
...

Note that navigation kebyinds are shared among the tabs. So by doing this change, arrow keys will be used even for the browser tabs etc. You can bind more than one key to a single action.

Solarunit commented 2 hours ago

I see, I was expected to have them by default thought like in ncmpcpp

mierak commented 2 hours ago

Defaults are vim-like, so hjkl for navigation. A user is expected to set up their own config and change them as they see fit.

Solarunit commented 2 hours ago

well, I personally never use hjkl for navigation

mierak commented 2 hours ago

Myself and many others do. Default values simply cannot satisfy everybody, that is why we have configurable keybinds, which you can find in the docs linked above.

Solarunit commented 2 hours ago

what about option in the config something like disable vim-bindings that would activate "normal" bindings? :slightly_smiling_face:

mierak commented 2 hours ago

Why is that needed when you can just change the keybinds yourself? This would just be a redundant behavior. Introducing extra config option just makes single default values into a set of two default values. They will still not fit every usecase.

Better option would be providing secondary reference config in the documentation with arrow keys instead of hjkl, home/end instead of G and g etc. You can submit PR for that if you want to.

Solarunit commented 2 hours ago

I think Arrow keys navigation is more user friendly and it's expected to work out of the box.

Can it co-exists with vim-bindings at the same time?