ncspot

Crates.io Gitter Build Status

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.

Search

Requirements

On Debian based systems you need following packages for libxcb developement headers: sudo apt install libpulse-dev libssl-dev libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev

Usage

Audio backends

By default ncspot is built using the Rodio backend. To make it use the PortAudio backend (e.g. for *BSD or macOS), you need to recompile ncspot with the portaudio_backend feature:

Key Bindings

These keybindings are hardcoded for now. In the future it may be desirable to have them configurable.

You can also open a Vim style commandprompt using :, the following commands are supported:

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 ~/.config/ncspot/config.toml. Possible configuration values are:

Theming

The color palette can be modified in the configuration. For instance, to have ncspot match Spotify's official client, you can add the following entries to the configuration file:

[theme] background = "black" primary = "light white" secondary = "light black" title = "green" playing = "green" playing_bg = "black" highlight = "light white" highlight_bg = "#484848" error = "light white" error_bg = "red" statusbar = "black" statusbar_progress = "green" statusbar_bg = "green" cmdline = "light white" cmdline_bg = "black"

More examples can be found in pull request https://github.com/hrkfdn/ncspot/pull/40.