#rich-presence #rpc #cmus #cmus-rpc #cmus-rich-presence

app cmus-rpc-rs

A Discord Rich Presence for cmus player using rust 🦀💙

5 releases

0.2.0 Oct 11, 2022
0.1.3 Aug 1, 2022
0.1.2 Aug 1, 2022
0.1.1 Aug 1, 2022
0.1.0 Aug 1, 2022

#292 in Command-line interface

MIT license

35KB
712 lines

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

Dependencies

~2.3–3.5MB
~64K SLoC