Cross-platform ncurses Spotify client written in Rust
ncurses Spotify client written in Rust using librespot. It is heavily inspired by ncurses MPD clients, such as ncmpc. My motivation was to provide a simple and resource friendly alternative to the official client as well as to support platforms that currently don't have a Spotify client, such as the *BSDs.
** Key Bindings **
These keybindings are hardcoded for now. In the future it may be desirable to
have them configurable.
?
show help screen
- Navigate through the screens using the F-keys:
F1
: Queue
c
clears the entire queue
d
deletes the currently selected track
Ctrl-s
opens a dialog to save the queue to a playlist
F2
: Search
F3
: Library
d
deletes the currently selected playlist
- Tracks and playlists can be played using
Return
and queued using Space
s
will save, d
will remove the currently selected track to/from your
library
o
will open a detail view or context menu for the selected item
Shift-o
will open a context menu for the currently playing track
a
will open the album view for the selected item
A
will open the artist view for the selected item
Backspace
closes the current view
Shift-p
toggles playback of a track
Shift-s
stops a track
Shift-u
updates the library cache (tracks, artists, albums, playlists)
<
and >
play the previous or next track
f
and b
to seek forward or backward
Shift-f
and Shift-b
to seek forward or backward in steps of 10s
-
and +
decrease or increase the volume
r
to toggle repeat mode
z
to toggle shuffle playback
q
quits ncspot
x
copies a sharable URL of the song to the system clipboard
Shift-x
copies a sharable URL of the currently selected item to the system clipboard
You can also open a Vim style commandprompt using :
, the following commands
are supported:
quit
: Quit ncspot
toggle
: Toggle playback
stop
: Stop playback
previous
/next
: Play previous/next track
clear
: Clear playlist
share [current | selected]
: Copies a sharable URL of either the selected item or the currernt song to the system clipboard
The screens can be opened with queue
, search
, playlists
and log
, whereas
search
can be supplied with a search term that will be entered after opening
the search view.
** Configuration **
Configuration is saved to ~/snap/ncspot/current/.config/ncspot/config.toml
. Possible configuration values are:
use_nerdfont
: Turn nerdfont glyphs on/off <true/false>
theme
: Set a custom color palette (see below)
Keybindings can be configured in [keybindings]
section in config.toml
, e.g. as such:
[keybindings]
"Shift+i" = "seek +10000"
See the help screen by pressing ?
for a list of possible commands.
ncspot will respect system proxy settings defined via the http_proxy
environment variable.
Unofficial snap published with ♥ by Alan Pope, Dustin Krysak and Martin Wimpress.
Snapcraft yaml can be found at https://github.com/popey/ncspot-snap
Built from the upstream source at https://github.com/hrkfdn/ncspot