Skip to content

General configuration

Rmpc uses ron format for its configuration file. The file can be located at:

  • $XDG_CONFIG_HOME/rmpc/config.ron
  • $HOME/.config/rmpc/config.ron
  • Specific path specified by the --config flag

Bootstrapping a config file

Config file can be bootstrapped by running the following command:

rmpc config > ~/.config/rmpc/config.ron

Config file structure

Below is a list of properties that can be changed.

address

address: "<ip>:<port>" | "/path/to/socket"

The address to connect to. Address can be either an IP address with a port or a UNIX domain socket path.

The order of precedence is as follows:

  1. --address passed to rmpc as command line argument
  2. $MPD_HOST and $MPD_PORT environment variables
    • If $MPD_PORT is not provided and $MPD_HOST starts with ~ or /, it is assumed to be a path to a unix socket
    • If $MPD_PORT is not provided and $MPD_HOST is an IP address and, the default port of 6600 is used
  3. The address value from config file
  4. And finally, if none of the above are provided, the default of 127.0.0.1:6600 is used

cache_dir

cache_dir: None | Some("<string>")

Directory for rmpc’s cache files. Used for files downloaded for youtube and might be used for more in the future.

theme

theme: None | Some("<string>")

Theme file to use. If set to None or absent, the default theme is used. More info at:

album_art

album_art: <other>

Various options for album art display. By default should not be needed to be specified. More info at album art page

keybinds

keybinds: <keybinds>

Keybinds to use. The default keybinds are used if this property is absent. More info at:

volume_step

volume_step: <number>

Determines the step when changing volume with the volume up and down keybinds. Default is 5%.

status_update_interval_ms

status_update_interval_ms: None | Some(<number>)

Interval in milliseconds to update the status when a song is playing. Status means song progress, current bitrate, etc. Default is 1000ms. If set to None or absent, the progress bar at the bottom of the window is hidden as it serves no purpose at that point.

select_current_song_on_change

select_current_song_on_change: <bool>

If set to true, the current song is selected in the queue table when it changes. Defaults to false if not present.

on_song_change

on_song_change: ["notify-send", "song changed!"]

Execute given command when the song changes. First element of the array is the command to execute and the rest are the arguments passed to the command. Nothing will be executed if left empty. Can be used to send notifications when the song changes.

search: <search>

Configures what tags are searchable on the Search pane. Also sets whether the search should be case insensitive by default and what kind of search mode to perform. More detail in the Search section. If not specified, the default values are used.