Skip to content
This repository has been archived by the owner on Feb 21, 2024. It is now read-only.
/ cmus-rpc-rs Public archive

A Discord Rich Presence for cmus player using rust πŸ¦€πŸ’™

License

Notifications You must be signed in to change notification settings

anas-stuff/cmus-rpc-rs

Repository files navigation

A Discord Rich Presence for cmus player with πŸ¦€

crates.io Codacy Badge CodeFactor

image 1

image 2

Read this in other languages.

πŸ‡―πŸ‡΅ japanese

  • Requires cmus

Install

  • from crates.io
    cargo install cmus-rpc-rs 
  • From Arch User Repository(AUR): yay -S cmus-rpc-rs

Options:

Option Description Values
-h or --help Show help -
-V or --version Show the version -
-d or --debug Debug mode -
-l or --link Linking with cmus (close the program if cmus is not running) -
-c or --config Set custom path to config file Path to config file .json
-i or --interval Set interval between checks interval time (seconds)
-s or --sleep Set sleep when there is no activity sleep time (seconds)
--p1f or --partOneFormat Set the format for the first part Format for first part
--p2f or --partTowFormat Set the format for the second part Format for second part
--li or --largeImage Set custom large image(cover) for presence large imgae name Available images for defult app
--pi or --playingImage Set custom playing image for presence playing icon name Available playing images for defult app
--pai or --pausedImage Set custom paused image for presence paused icon name Available icons
--pt or --playingText Set custom playing icon alt for presence playing icon alt text
--pat or --pausedText Set custom paused icon altarnative for presence paused icon alt text
--b1t or --buttonOneText Set button one text(label) button one label (if empty and no has value in the config file the button will be hidden)
--b1u or --buttonOneUrl Set button one url Button one url (if empty and no has value in the config file the button will be hidden)
--b2t or --buttonTwoText Set button two text(label) button one label (if empty and no has value in the config file the button will be hidden)
--b2u or --buttonTwoUrl Set button two url Button one url (if empty and no has value in the config file the button will be hidden)

Examples:

cmus-rpc-rs --p1f %title%
cmus-rpc-rs --p1f "%artist% - %title%" --p2f "%album% - %date%"
cmus-rpc-rs --p1f "Anas listening to %title%" --p2f "From %artist%"

How to do auto run when you start the cmus

  • Put the following line in your shellrc file e.g. .bashrc or .zshrc
    alias cmus = 'cmus-rpc-rs --link &>/dev/null & cmus'

Available in

GitHub GitLab BitBucket Codeberg

Resources

  • cmus-remote tool to the make a query to the cmus
  • Discord Rich Presence A simple, cross-platform crate for interfacing with Discord's IPC.
  • dirs-rs a low-level library that provides config/cache/data paths, following the respective conventions on Linux, macOS and Windows.
  • clap A full featured, fast Command Line Argument Parser for Rust.

Quality gate

SonarCloud

This is my first project using rust πŸ˜†, support me with star yoo πŸ’™πŸ¦€

License MIT