betta-cyber / netease-music-tui

netease cloud music terminal client by rust :zap:
MIT License
420 stars 34 forks source link
linux netease-cloud-music netease-cloudmusic netease-music-tui rust rust-language tui

NETEASE CLOUD MUSIC TUI

Actions Status

A netease cloud music client for the terminal written in Rust.

Demo

Installation

Manual

  1. you can download the latest binary ncmt for your OS
  2. cd to the file you just downloaded and unzip
  3. cd to folder and run with ./ncmt

Cargo

First, install Rust (using the recommended rustup installation method) and then

git clone https://github.com/betta-cyber/netease-music-tui.git
cd netease-music-tui

// build release and install
make && make install

and then you can make some soft link to the binary and use it.

Arch Linux

for Arch based distributions, users can install from AUR

// build and install from source
yay -S netease-music-tui 

// install from release binary file
yay -S netease-music-tui-bin 

Configuration

A configuration file is located at ${HOME}/.config/netease-music-tui/Settings.toml

The following is a sample Settings.toml file:

# Your account username (email/cellphone).
username = "username"
# Your account password.
password = "password"

Fill your account info to the config file.

Usage

The binary is named ncmt

When running netease-music-tui press ? to bring up a help menu that shows currently implemented key events and their actions.

This table shows some key binds

Description Event Context
Increase volume + General
Decrease volume - General
Skip to next track n General
Skip to previous track p General
Toggle repeat mode r General
Move selection left h | \ General
Move selection down j | \ General
Move selection up k | \ General
Move selection right l | \ General
Jump to currently playing album a General
Enter Search / General
Pause/Resume playback \ General
Fullsize playbar f General
Go back or exit when nowhere left to back to q General
Enter hover mode \ General
like current playing track \<Ctrl+y> General
dislike current playing track \<Ctrl+d> General
move track to trash \<Ctrl+t> Fm block
Enter active mode \ Hover mode
Delete entire input \<Ctrl+u> Search input
Search with input text \ Search input
Jump to start of input \<Ctrl+a> Search input
Jump to end of input \<Ctrl+e> Search input
Subscribe current hover playlist \<Alt+s> Playlist block ,
Unsubscribe current hover playlist \<Alt+d> Playlist block ,
Jump to next page \<Ctrl+f> Search result | top list
Jump to previous page \<Ctrl+b> Search result | top list

custom theme

user can custom some theme color in config file. such as:

hover = "#565656"
active = "#abe047"
other = "#eb4129"

hover means hover block border color active means current select block border color other means other block border color

text color will add in the future.

Dev plan

Features

dbus mpris cargo run --features dbus_mpris

License

MIT