Skip to content
This page is for the development version of rmpc. Make sure your version matches the selected documentation.

Theme

A theme determines the look of rmpc. You can customize it by creating a custom theme file placed in the themes directory and then configuring the theme property in the config file filename of the theme.

  1. Config file can be bootstrapped by running the following command:
    rmpc theme > ~/.config/rmpc/themes/<theme_name>.ron
  2. Use the theme in your config by editing the theme property ~/.config/rmpc/config.ron file like so:
    theme: Some("<theme_name>")
  3. Restart rmpc

Below is a list of properties that can be changed.

layout: Pane | Split | Component

Base layout of the application, lets you configure where the various components are placed on the screen.

components: Map<string, Pane | Split | Component>

Reusable components which can be used in tabs, layout or other components. Check out components section in the layout page for more information.

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

A default image is displayed if a song does not have an album art. This property can override that default image.

cava: <Cava>

Configures how the Cava music visualizer is displayed. More info on the cava page.

show_song_table_header: true | false

If set to false, the header of the song table is not displayed. Default is true.

draw_borders: true | false

Whether to draw borders in the UI.

Symbols to use in the various browser panes (artist, search, …)

symbols: <Symbols>
song: S
dir: D
marker: M

This symbol is used for selected items in the browser panes.

ellipsis: ...

Symbol used to indicate text truncation when content exceeds the available display space.

song_style: <style>

Style to use for the song symbol.

dir_style: <style>

Style to use for the dir symbol.

Configures style of various messages depending on their level, ie. info or error.

level_styles: LevelStyles

Defaults to:

level_styles: (
info: (fg: "blue", bg: "black"),
warn: (fg: "yellow", bg: "black"),
error: (fg: "red", bg: "black"),
debug: (fg: "light_green", bg: "black"),
trace: (fg: "magenta", bg: "black"),
),

Progress bar at the bottom of the window.

progress_bar: ProgressBar
symbols: [start, elapsed, thumb, track, end]

Array of five single character strings that determine the look of the progress bar. First value is the start character, second is the elapsed part of the progress bar, third is the thumb, fourth is the empty track and the fifth is the end character. Default is `[”[”, ”-”, ”>”, ” ”, ”]“]

track_style: <style>

Style of the empty track part of the progress bar.

elapsed_style: <style>

Style of the elapsed part of the progress bar.

thumb_style: <style>

Style of the progress bar thumb.

scrollbar: Scrollbar

Configure the style of scrollbars in rmpc. Passing in None hides them.

track_style: [track, thumb, end_top, end_bot]

Array of four single character strings that determine the look of the scrollbars. First value is the track, second is the thumb, third is the top end and the fourth is the bottom end. Default is ["│", "█", "▲", "▼"]

track_style: <style>
ends_style: <style>
thumb_style: <style>
browser_column_widths: [number, number, number]

Three numerical values that determine the percent width of the columns in the browser tab. Default is [20, 38, 42]. Meaning the first column takes 20% of the width, the second 38% and the third 42%.

background_color: color

Background color of the main window.

background_color: color

Background color of the window header. The header is at the top of the window and contains tab bar and user configurable data.

background_color: color

Background color of modal dialogs.

modal_backdrop: true | false

Enables a backdrop behind modals for increased visual clarity. Defaults to false.

text_color: color

Foreground color of basic text. Defaults to your terminal’s foreground color.

preview_label_style: <style>

Style of song metadata labels in browser previews.

preview_metadata_group_style: <style>

Style of song metadata group headers in browser previews.

Tab bar at the top of the window below header. Shows what tab is currently active.

Do not use. Deprecated in favor of the layout config.

active_style: <style>

Style for the active tab.

inactive_style: <style>

Style for all tabs except the active one.

highlighted_item_style: <style>
current_item_style: <style>
borders_style: <style>
highlight_border_style: <style>
format_tag_separator: "<string>"

Use this to separate entries when a song has multiple values for a tag. For example, a song with two values for artist and | as a separator will show artist1 | artist2. Default is |.

multiple_tag_resolution_strategy: All | First | Last | Nth(<number>)

What strategy to choose when a song has multiple values for a tag. All uses #format_tag_separator to join all values to one. First and Last choose the first and last value respectively and Nth chooses exactly which one to take. Last value is used when index given to Nth is larger than the count of available values.

song_table_format: <song_table_format>

Configures the columns of the song table. This property is described in its own page:

browser_song_format: <song_table_format>

Format used to display song in the various browser panes (albums, artists, …). Is the same format as song_table_format except the styles are ignored.

Defaults to Track Artist - Title

header: <header[]>

Configuration of the header. Header is displayed at the top of the window. It can display info about current song, the player state and custom widgets. This property is described in its own page:

lyrics.timestamp: true | false

Sets the visibility of the timestamps in the lyrics pane.