Welcome to Lily, your open-source, terminal-based music player— a reliable, rust-based alternative to Spotify.
All keybindings are fully configurable, allowing you to map any key to a specific action. Below is the default keybinding setup:
# Sample config file
# By default, the application expects your music files to be stored in the /Music/ directory. You can modify this directory by adjusting the src_dir path in the configuration file.
[application]
src_dir="/Music/"
# You can fully customize the controls by editing the keymap section. Here is the default keymap for your reference:
[keymap]
"q" = "Quit"
"m" = "ToggleMute"
"y" = "ToggleLoop"
"a" = "ToggleAutoPlayback"
"Space" = "TogglePause"
"d" = "VolumeDown"
"u" = "VolumeUp"
"l" = "SeekForward"
"h" = "SeekBackwards"
"j" = "ScrollDown"
"k" = "ScrollUp"
"Down" = "ScrollDown"
"Up" = "ScrollUp"
"c" = "ClearQueue"
"<Control-d>" = "ScrollDownMore"
"<Control-u>" = "ScrollUpMore"
"Enter" = "QueueSong"
"s" = "Sort"
"n" = "NextSong"
"/" = "StartSearching"
# "<Shift-Back Tab>" = ...
# "Esc" = ...
Below are a list of compatible keys.
Key | Description |
---|---|
Backspace | Backspace key (Delete on macOS, Backspace on other platforms) |
Enter | Enter key |
Left | Left arrow key |
Right | Right arrow key |
Up | Up arrow key |
Down | Down arrow key |
Home | Home key |
End | End key |
PageUp | Page up key |
PageDown | PageDownKey |
Tab | Tab key |
Delete | Delete key (Fn+Delete on macOS, Delete on other platforms) |
Insert | Insert key |
{character} | A character ('a', 'b', ...) |
Esc | Escape key |
F{0-12} | Function key press |
Keys can be prefixed using modifiers. Key combinations (modifier + key) must be wrapped in <>.
Modifier | Description |
---|---|
Shift | Shift key |
Control | Control key |
Actions are what keys will map to, they define what will happen during a key press.
Action | Description |
---|---|
Quit | Quits the application |
ToggleMute | Enables/Disables audio muting |
ToggleLoop | Enables/Disables single track looping |
ToggleAutoPlayback | Enables/Disables all songs in source list playing at random |
TogglePause | Pauses/Unpauses current track |
VolumeDown | Lowers the volume by 10% |
VolumeUp | Increases the volume by 10% |
SeekForward | Seeks forward 10 seconds in the current track |
SeekBackwards | Seeks backwards 10 seconds in the current track |
NextSong | Skips the current song |
ScrollDown | Selects the next available song in source list |
ScrollUp | Selects the previous available song in source list |
ScrollDownMore | Selects the next 10th available song in source list |
ScrollUpMore | Selects the previous 10th available song in source list |
QueueSong | Adds the currently selected song to the queue |
ClearQueue | Removes all songs from queue |
Sort | Sorts the list in 1 of 3 ways (track title, author, album) |
StartSearching | Enter search mode, typing will now modify search (Enter, Tab, or Escape to complete search) |
Distributed under the MIT license. See LICENSE for more information.