Package: cmus-notify
Author:Antoine GagnéContents1Requirements2Installation3Hooking To Cmus4Customization5Options6Documentation1RequirementsTo install this program, you must have the following:python 3.5+The Python librarynotify2notify-send2InstallationTo install this program, you can simply run the following command:pythonsetup.pyinstallThis program can also be found onPypiwhich means you can install it by downloading the wheel or by using the following command:pipinstallcmus-notifyYou can check if it installed correctly by doing the following command:cmus_notify-hIt should display a message.3Hooking To CmusTo hook this program tocmus, you have to create a shell script that have the following lines in it:#! /bin/shcmus_notify"$*"&Then, you must make the file executable by using the following command (assuming your script’s name iscmus_notify.sh):chmod+xcmus_notify.shFinally, once you are incmus, you can add the hook by using the following command::setstatus_display_program=<path-to-the-shell-script>4CustomizationIf you want you can specify the formatting of the notification by specifying format strings. For example:#! /bin/shcmus_notify--title"Now playing: {title} by {artist}"--body"$(printf"<b>Album:</b> {album}\n<b>Duration:</b> {duration}")""$*"You can also specify a configuration to read these values from. By default, the program will search for a configuration file named~/.cmus-notify. It has the following format:[notifications]application_name=Cmuscustom_notification=/home/user/.cmus/custom_notification.py[format]title=Now playing: {title} by {artist}body=<b>Album:</b> {album}<b>Duration:</b> {duration}The options accepts the same values as their command-line options equivalent.5OptionsTo view the full options, you can run the following command:cmus_notify--helpwhich will display the following prompt:usage: cmus_notify [-h] [-a APPLICATION_NAME] [-b BODY_FORMAT_STRING]
                   [-t TITLE_FORMAT_STRING] [-f CONFIGURATION_FILE]
                   [-c CUSTOM_NOTIFICATION]
                   INFORMATION

Display a notification about Cmus's current status

positional arguments:
  INFORMATION           Parse the given information

optional arguments:
  -h, --help            show this help message and exit
  -a APPLICATION_NAME, --application_name APPLICATION_NAME
                        The name of the application
  -b BODY_FORMAT_STRING, --body BODY_FORMAT_STRING
                        A format string that can be specified to tell the
                        software how to format the body. The syntax is the
                        same as Python's. The available options are specified
                        at the end of this help message. (i.e. 'Artist:
                        {artist}')
  -t TITLE_FORMAT_STRING, --title TITLE_FORMAT_STRING
                        A format string that can be specified to tell the
                        software how to format the title. The syntax is the
                        same as Python's. The available options are specified
                        at the end of this help message. (i.e. 'Now playing:
                        {title}')
  -f CONFIGURATION_FILE, --configuration_file CONFIGURATION_FILE
                        The path to the configuration file. If it is not
                        specified, the program will use the default values of
                        the other options.
  -c CUSTOM_NOTIFICATION, --custom_notification CUSTOM_NOTIFICATION
                        The path to a custom implementation of the
                        notification class. If it is not specified, the
                        standard implementation will be used (the one using
                        notify2).

Format String Parameters
========================

The available arguments to the format strings are the following:

  - album: The song's album
  - albumartist: The song's album's artist
  - artist: The song's artist
  - date: The song's release date
  - discnumber: The song's disc's number
  - duration: The song's duration
  - file: The song's file's path
  - status: Cmus current status
  - title: The song's title
  - tracknumber: The song's track number6DocumentationThe project’s documentation can be foundhere.