* chore(deps): `cargo update` * chore: update to Rust edition 2024 and apply fixes Update the Rust edition and apply changes required in the new edition. Also update the Cargo manifests to reflect the edition change, and ensure changes automatically apply to workspace members in the future. * chore: format all code with `rustfmt` The new Rust edition comes with some new formatting defaults, which need to be applied since the edition was increased. * style: change suggested matches back to `if let` There has been a breaking change in Rust edition 2024 that changed the behavior of `if let` statements slightly. The new behavior is more in line with what users would expect, but could lead to problems in existing code. The automatic edition update therefore changed such `if let` statements to match statements instead. That lead to deeply nested code which was hard to reason about. This changes most of them back to regular `if let` chains, as the new behavior shouldn't cause problems for these cases. --------- Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
ncspot is an 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.
ncspot only works with a Spotify premium account as it offers features that are not available for free accounts.
Features
- Support for tracks, albums, playlists, genres, searching...
- Small resource footprint
- Support for a lot of platforms
- Vim keybindings out of the box
- IPC socket for remote control
Installation
ncspot is available on macOS (Homebrew), Windows (Scoop, WinGet), Linux (native package, Flathub and Snapcraft) and the BSD's. Detailed installation instructions for each platform can be found here.
Configuration
A configuration file can be provided. The default location is ~/.config/ncspot. Detailed
configuration information can be found here.
Building
Building ncspot requires a working Rust installation and
a Python 3 installation. To compile ncspot, run cargo build. For detailed instructions on building
ncspot, there is more information here.
Packaging
Information about provided files, how to generate some of them and current package status accross platforms can be found here.
