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

Nord

SED can help you quickly modify the colors in case you want something else.

sed.sh
echo "Note: cava theme config requires hex values. The nord theme will fail if you run this without manually updating those values."
sed -i 's/#81a1c1/blue/gI; s/#88c0d0/cyan/gI; s/#2e3440/black/gI; s/#3b4252/black/gI; s/#4c566a/gray/gI; s/#a3be8c/green/gI; s/#ebcb8b/yellow/gI; s/#d8dee9/white/gI; s/#b48ead/magenta/gI ; s/#d08770/yellow/gI; s/#bf616a/red/gI'

You must add the tab section to your config.ron.
Requires a Nerd Font for some of the symbols.
You probably also want to enable the sticker feature and add the playcount script to run on song changes, as well as enable Cava.

Depending on your font and screen, you might need to slightly adjust some values in:

  • “AlbumArt” in the config.ron
theme.ron
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
default_album_art_path: None,
format_tag_separator: " | ",
multiple_tag_resolution_strategy: All,
browser_column_widths: [20, 38, 42],
background_color: "#2e3440",
modal_backdrop: true,
text_color: "#d8dee9",
header_background_color: "#2e3440",
modal_background_color: "#2e3440",
preview_label_style: (fg: "#b48ead"),
preview_metadata_group_style: (fg: "#81a1c1"),
song_table_album_separator: None,
tab_bar: (
active_style: (fg: "#2e3440", bg: "#81A1C1", modifiers: "Bold"),
inactive_style: (fg: "#4c566a", bg: "#2e3440"),
),
highlighted_item_style: (fg: "#a3be8c", modifiers: "Bold"),
current_item_style: (fg: "#2e3440", bg: "#81a1c1", modifiers: "Bold"),
borders_style: (fg: "#81a1c1", modifiers: "Bold"),
highlight_border_style: (fg: "#81a1c1"),
symbols: (song: "󰝚 ", dir: "󱍙 ", playlist: "󰲸 ", marker: "* ", ellipsis: "...",
song_style: (fg: "#81a1c1"), song_highlighted_style: None, song_current_style: (fg: "#2e3440"),
dir_style: (fg: "#81a1c1"), dir_highlighted_style: None, dir_current_style: (fg: "#2e3440"),
playlist_style: (fg: "#81a1c1"), playlist_highlighted_style: None, playlist_current_style: (fg: "#2e3440"),
marker_style: (fg: "#ebcb8b"), marker_highlighted_style: (fg: "#ebcb8b"), marker_current_style: (fg: "#2e3440", bg: "#ebcb8b" ),
),
progress_bar: (
symbols: ["", "", "", "", "" ],
track_style: (fg: "#3b4252", bg: "#2e3440"),
elapsed_style: (fg: "#81a1c1", bg: "#2e3440"),
thumb_style: (fg: "#81a1c1", bg: "#3b4252"),
use_track_when_empty: false,
),
scrollbar: (
symbols: ["", "", "󰄿", "󰄼"],
track_style: (fg: "#81a1c1"),
ends_style: (fg: "#81a1c1"),
thumb_style: (fg: "#81a1c1"),
),
song_table_format: [
(prop: (kind: Transform(Replace(content: (kind: Sticker("rating")), replacements: [
(match: "0", replace: (kind: Group([(kind: Text("󰎡"),style: (fg: "#81a1c1"))]))),
(match: "1", replace: (kind: Group([(kind: Text("󰎤"),style: (fg: "#81a1c1"))]))),
(match: "2", replace: (kind: Group([(kind: Text("󰎧"),style: (fg: "#81a1c1"))]))),
(match: "3", replace: (kind: Group([(kind: Text("󰎪"),style: (fg: "#81a1c1"))]))),
(match: "4", replace: (kind: Group([(kind: Text("󰎭"),style: (fg: "#81a1c1"))]))),
(match: "5", replace: (kind: Group([(kind: Text("󰎱"),style: (fg: "#81a1c1"))]))),
(match: "6", replace: (kind: Group([(kind: Text("󰎳"),style: (fg: "#81a1c1"))]))),
(match: "7", replace: (kind: Group([(kind: Text("󰎶"),style: (fg: "#81a1c1"))]))),
(match: "8", replace: (kind: Group([(kind: Text("󰎹"),style: (fg: "#81a1c1"))]))),
(match: "9", replace: (kind: Group([(kind: Text("󰎼"),style: (fg: "#81a1c1"))]))),
(match: "10", replace: (kind: Group([(kind: Text("󰽽"),style: (fg: "#81a1c1"))]))),
])), default: (kind: Text(""), style: (fg: "#4c566a"))),
width: "3",
label: "Rating",
alignment: Center,
label_prop: (kind: Group([
(kind: Text("󰩳"), style: (fg: "#81a1c1")),
]))
),
(prop: (kind: Sticker("playCount"),style: (fg: "#81a1c1"),
default: (kind: Text(""), style: (fg: "#4c566a"))),
width: "3",
alignment: Left,
label: "Playcount",
label_prop: (kind: Group([
(kind: Text("󰆙"), style: (fg: "#81a1c1")),
]))
),
(prop:(kind: Text(""), style: (fg: "#81a1c1")),
width: "1",
alignment: Center,
label: "",
label_prop: (kind: Group([
(kind: Text(""), style: (fg: "#81a1c1")),
]))
),
(prop: (kind: Property(Artist), style: (fg: "#81a1c1"),
default: (kind: Text("Unknown Artist"), style: (fg: "#4c566a"))),
width: "23%",
label_prop: (kind: Group([
(kind: Text("Artist "), style: (fg: "#d8dee9")),
(kind: Text(""), style: (fg: "#81a1c1"))
]))
),
(prop: (kind: Property(Title), style: (fg: "#88c0d0"),
default: (kind: Property(Filename), style: (fg: "#d8dee9"),
default: (kind: Text("Unknown Title"), style: (fg: "#d8dee9")))),
width: "36%",
label_prop: (kind: Group([
(kind: Text("Title "), style: (fg: "#d8dee9")),
(kind: Text(""), style: (fg: "#81a1c1"))
]))
),
(prop: (kind: Property(Album), style: (fg: "#81a1c1"),
default: (kind: Text("Unknown Album"), style: (fg: "#4c566a"))),
width: "33%",
label_prop: (kind: Group([
(kind: Text("Album "), style: (fg: "#d8dee9")),
(kind: Text("󰀥"), style: (fg: "#81a1c1"))
]))
),
(prop: (kind: Property(Duration), style: (fg: "#88c0d0"),
default: (kind: Text("-"))),
width: "8%",
alignment: Right,
label_prop: (kind: Group([
(kind: Text("Length "), style: (fg: "#d8dee9")),
(kind: Text(""), style: (fg: "#81a1c1"))
]))
),
],
layout: Split(direction: Vertical, panes: [
(size: "7", borders: "NONE", pane: Component("header")),
(size: "100%", borders: "NONE", pane: Pane(TabContent)),
(size: "3", borders: "NONE", pane: Component("progress_bar")),
]),
browser_song_format: [
(kind: Group([
(kind: Property(Track)),
(kind: Text(" ")),
])),
(kind: Group([
(kind: Property(Artist)),
(kind: Text(" - ")),
(kind: Property(Title)),
]), default: (kind: Property(Filename)))
],
level_styles: (
info: (fg: "#a3be8c", bg: "#2e3440"),
warn: (fg: "#ebcb8b", bg: "#2e3440"),
error: (fg: "#bf616a", bg: "#2e3440"),
debug: (fg: "#d08770", bg: "#2e3440"),
trace: (fg: "#b48ead", bg: "#2e3440"),
),
components: {
"header_tab_bar": Split(direction: Horizontal, panes: [
(size: "11%", borders: "NONE", pane: Component("tab_bar_left")),
(size: "78%", borders: "NONE", pane: Pane(Tabs)),
(size: "11%", borders: "NONE", pane: Component("tab_bar_right")),
]),
"header_line_1": Split(direction: Horizontal, panes: [
(size: "22%", pane: Component("header_element_1")),
(size: "1", pane: Component("header_element_space")),
(size: "56%", pane: Component("header_element_2")),
(size: "1", pane: Component("header_element_space")),
(size: "22%", pane: Component("header_element_3")),
(size: "2", pane: Component("header_element_right_end")),
]),
"header_line_2": Split(direction: Horizontal, panes: [
(size: "22%", pane: Component("header_element_4")),
(size: "1", pane: Component("header_element_space")),
(size: "56%", pane: Component("header_element_5")),
(size: "1", pane: Component("header_element_space")),
(size: "22%", pane: Component("header_element_6")),
(size: "2", pane: Component("header_element_right_end")),
]),
"header_line_3": Split(direction: Horizontal, panes: [
(size: "25%", pane: Component("header_element_7")),
(size: "1", pane: Component("header_element_space")),
(size: "50%", pane: Component("header_element_8")),
(size: "1", pane: Component("header_element_space")),
(size: "25%", pane: Component("header_element_9")),
(size: "2", pane: Component("header_element_right_end")),
]),
"header": Split(direction: Vertical, panes: [
(size: "2", borders: "TOP | RIGHT | LEFT", border_symbols: Rounded,
pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "NONE", pane: Component("header_tab_bar")),
])
),
(size: "5", borders: "ALL", border_symbols: Library("rounded_collapsed_top"),
border_title: [
(kind: Text(""), style: (fg: "#81a1c1")),
(kind: Transform(Replace(content: (kind: Sticker("like")), replacements: [
(match: "0", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("󰋔 "), style: (fg: "#bf616a")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "1", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("󰋕 "), style: (fg: "#ebcb8b")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "2", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text(""), style: (fg: "#a3be8c")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
]))),
(kind: Text(""), style: (fg: "#81a1c1")),
(kind: Transform(Replace(content: (kind: Sticker("rating")), replacements: [
(match: "0", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("     "), style: (fg: "#81a1c1")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "1", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text(""), style: (fg: "#88c0d0")), (kind: Text("    "), style: (fg: "#81a1c1")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "2", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text(""), style: (fg: "#88c0d0")), (kind: Text("    "), style: (fg: "#81a1c1")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "3", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("  "), style: (fg: "#88c0d0")), (kind: Text("   "), style: (fg: "#81a1c1")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "4", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("  "), style: (fg: "#88c0d0")), (kind: Text("   "), style: (fg: "#81a1c1")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "5", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("   "), style: (fg: "#88c0d0")), (kind: Text("  "), style: (fg: "#81a1c1")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "6", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("   "), style: (fg: "#88c0d0")), (kind: Text("  "), style: (fg: "#81a1c1")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "7", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("    "), style: (fg: "#88c0d0")), (kind: Text(""), style: (fg: "#81a1c1")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "8", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("    "), style: (fg: "#88c0d0")), (kind: Text(""), style: (fg: "#81a1c1")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "9", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("     "), style: (fg: "#88c0d0")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
(match: "10", replace: (kind: Group([(kind: Text("["), style: (fg: "#81a1c1")), (kind: Text("     "), style: (fg: "#88c0d0")), (kind: Text("]"), style: (fg: "#81a1c1"))]))),
])), default: (kind: Text(""),style: (fg: "#81a1c1"))),
(kind: Text(""), style: (fg: "#81a1c1")),
],
border_title_position: Bottom,
border_title_alignment: Right,
pane: Split(direction: Vertical, panes: [
(size: "100%", borders: "NONE", pane: Component("header_line_1")),
(size: "100%", borders: "NONE", pane: Component("header_line_2")),
(size: "100%", borders: "NONE", pane: Component("header_line_3")),
])
),
]),
"progress_bar": Split(direction: Vertical, panes: [
(size: "3", borders: "ALL", border_symbols: Rounded ,
border_title: [
(kind: Property(Status(Elapsed)),style: (fg: "#d8dee9")),
(kind: Property(Status(StateV2(playing_label: "─󱦟─", paused_label: "", stopped_label: ""))),
style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(Duration)),style: (fg: "#d8dee9")),
],
border_title_position: Top,
border_title_alignment: Center,
pane: Split(direction: Vertical, panes: [
(size: "100%", borders: "NONE",pane: Pane(ProgressBar)),
])
),
]),
"tab_bar_left": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Text(""), style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(StateV2(playing_label: "", paused_label: "", stopped_label: ""))),
style: (fg: "#d8dee9")),
(kind: Text(""), style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Song(FileExtension)), style: (fg: "#4c566a")),
(kind: Text(" ")),
(kind: Property(Widget(ScanStatus)), style: (fg: "#d8dee9", modifiers: "Bold")),
(kind: Text(" ")),
(kind: Property(Status(InputBuffer())), style: (fg: "#4c566a")),
], align: Left))),
]),
"tab_bar_right": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Transform(Replace(content: (kind: Property(Status(Partition)), style: (fg: "#4c566a")), replacements: [
(match: "default", replace: (kind: Group([(kind: Text(""))]))),
]))),
(kind: Text(" ")),
(kind: Property(Song(Channels())), style: (fg: "#4c566a"),
default: (kind: Text("0"), style: (fg: "#4c566a"))),
(kind: Text(" 󱡫 "),style: (fg: "#4c566a")),
(kind: Text(" 󱡬"), style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(Volume)), style: (fg: "#d8dee9")),
(kind: Text("% "), style: (fg: "#81a1c1", modifiers: "Bold"))
], align: Right))),
]),
"header_element_1": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(Elapsed)),style: (fg: "#d8dee9")),
(kind: Text(" / "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(Duration)),style: (fg: "#d8dee9")),
(kind: Text(" 󱦟"),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Text(" ]"),style: (fg: "#81a1c1", modifiers: "Bold")),
], align: Left))),
]),
"header_element_2": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Property(Song(Title)), style: (fg: "#d8dee9",modifiers: "Bold"),
default: (kind: Property(Song(Filename)), style: (fg: "#d8dee9",modifiers: "Bold"),
default: (kind: Text("Unknown Title"), style: (fg: "#d8dee9",modifiers: "Bold"))
)
)
], align: Center, scroll_speed: 6))),
]),
"header_element_3": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(RepeatV2(on_label: "", off_label: "",
on_style: (fg: "#d8dee9", modifiers: "Bold"),
off_style: (fg: "#4c566a", modifiers: "Bold"))))
),
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(RandomV2(on_label: "", off_label: "",
on_style: (fg: "#d8dee9", modifiers: "Bold"),
off_style: (fg: "#4c566a", modifiers: "Bold"))))
),
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(ConsumeV2(on_label: "󰮯", off_label: "󰮯", oneshot_label: "󰮯󰇊",
on_style: (fg: "#d8dee9", modifiers: "Bold"),
off_style: (fg: "#4c566a", modifiers: "Bold"))))
),
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(SingleV2(on_label: "󰎤", off_label: "󰎦", oneshot_label: "󰇊", off_oneshot_label: "󱅊",
on_style: (fg: "#d8dee9", modifiers: "Bold"),
off_style: (fg: "#4c566a", modifiers: "Bold"))))
),
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(Crossfade)),style: (fg: "#4c566a"),
default: (kind: Text("󰴽"), style: (fg: "#4c566a"))
),
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Transform(Replace(content: (kind: Property(Status(InputMode()))), replacements: [
(match: "Normal", replace: (kind: Group([(kind: Text("N"),style: (fg: "#4c566a", modifiers: "Bold"))]))),
(match: "Insert", replace: (kind: Group([(kind: Text("I"),style: (fg: "#d8dee9", modifiers: "Bold"))]))),
]))),
], align: Right))),
]),
"header_element_4": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Song(Bits())),default: (kind: Text(""), style: (fg: "#d8dee9")), style: (fg: "#d8dee9")),
(kind: Text(" bit"),style: (fg: "#81a1c1")),
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(Bitrate)),default: (kind: Text(""), style: (fg: "#d8dee9")),style: (fg: "#d8dee9")),
(kind: Text(" kbps"),style: (fg: "#81a1c1")),
(kind: Text(" ]"),style: (fg: "#81a1c1", modifiers: "Bold"))
], align: Left))),
]),
"header_element_5": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Transform(Replace(content:
(kind: Property(Song(Artist)), style: (fg: "#88c0d0"),
default: (kind: Text("Unknown Artist"), style: (fg: "#88c0d0"))
), replacements: [(match: "", replace: (kind: Group([(kind: Text("Unknown Artist"), style: (fg: "#88c0d0"))])))]
))),
(kind: Text(" - "), style: (fg: "#d8dee9")),
(kind: Transform(Replace(content:
(kind: Property(Song(Album)),style: (fg: "#81a1c1" ),
default: (kind: Text("Unknown Album"), style: (fg: "#81a1c1"))
), replacements: [(match: "", replace: (kind: Group([(kind: Text("Unknown Album"), style: (fg: "#81a1c1"))])))]
))),
], align: Center, scroll_speed: 6))),
]),
"header_element_6": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(QueueTimeRemaining(separator: " "))),style: (fg: "#d8dee9")),
(kind: Text(" / "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(QueueTimeTotal(separator: " "))),style: (fg: "#d8dee9")),
(kind: Text(" 󱎫"),style: (fg: "#81a1c1", modifiers: "Bold")),
], align: Right))),
]),
"header_element_7": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Song(SampleRate())), default: (kind: Text(""), style: (fg: "#d8dee9")), style: (fg: "#d8dee9")),
(kind: Text(" Hz"),style: (fg: "#81a1c1")),
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Song(Position)), style: (fg: "#d8dee9"), default: (kind: Text("0"), style: (fg: "#d8dee9"))),
(kind: Text(" / "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Property(Status(QueueLength())),style: (fg: "#d8dee9")),
(kind: Text(" 󰴍"),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Text(" ]"),style: (fg: "#81a1c1", modifiers: "Bold"))
], align: Left))),
]),
"header_element_8": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Transform(Replace(content:
(kind: Property(Song(Other("albumartist"))),style: (fg: "#4c566a"),
default: (kind: Text("Unknown Albumartist"), style: (fg: "#4c566a"))
), replacements: [(match: "", replace: (kind: Group([(kind: Text("Unknown Albumartist"), style: (fg: "#4c566a"))])))]
))),
(kind: Text(" - "), style: (fg: "#4c566a")),
(kind: Transform(Replace(content:
(kind: Property(Song(Other("composer"))),style: (fg: "#4c566a"),
default: (kind: Text("Unknown Composer"), style: (fg: "#4c566a"))
), replacements: [(match: "", replace: (kind: Group([(kind: Text("Unknown Composer"), style: (fg: "#4c566a"))])))]
))),
], align: Center, scroll_speed: 6))),
]),
"header_element_9": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Transform(Replace(content:
(kind: Property(Song(Other("date"))),style: (fg: "#d8dee9"),
default: (kind: Text("Unknown Date"), style: (fg: "#4c566a"))
), replacements: [(match: "", replace: (kind: Group([(kind: Text("Unknown Date"), style: (fg: "#4c566a"))])))]
))),
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Transform(Replace(content:
(kind: Property(Song(Track)),style: (fg: "#d8dee9"),
default: (kind: Text("0"), style: (fg: "#4c566a"))
), replacements: [(match: "", replace: (kind: Group([(kind: Text("0"), style: (fg: "#4c566a"))])))]
))),
(kind: Text(" / "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Transform(Replace(content:
(kind: Property(Song(Disc)),style: (fg: "#d8dee9"),
default: (kind: Text("0"), style: (fg: "#4c566a"))
), replacements: [(match: "", replace: (kind: Group([(kind: Text("0"), style: (fg: "#4c566a"))])))]
))),
(kind: Text(" 󰥠 | "),style: (fg: "#81a1c1", modifiers: "Bold")),
(kind: Transform(Replace(content:
(kind: Property(Song(Other("genre"))),style: (fg: "#d8dee9"),
default: (kind: Text("Unknown Genre"), style: (fg: "#4c566a"))
), replacements: [(match: "", replace: (kind: Group([(kind: Text("Unknown Genre"), style: (fg: "#4c566a"))])))]
))),
], align: Right))),
]),
"header_element_right_end": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Text(" ]"),style: (fg: "#81a1c1", modifiers: "Bold")),
], align: Right))),
]),
"header_element_space": Split(direction: Horizontal, panes: [
(size: "100%", pane: Pane(Property(content: [
(kind: Text(" ")),
], align: Right))),
]),
},
cava: (
bar_symbols: ['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'],
bar_width: 1, bar_spacing: 1,
bg_color: "#2e3440",
bar_color: Gradient({
0: "#5e81ac",
33: "#81a1c1",
67: "#88c0d0",
100: "#8fbcbb",
})
),
lyrics:(
timestamp: false,
alignment: Center,
),
border_symbol_sets: {
"rounded_collapsed_top": (
parent: Rounded,
top_left: "",
top_right: "",
),
},
)
config.ron
tabs: [
(name: "Home", pane: Split(direction: Horizontal, panes: [
(size: "65%", borders: "NONE", pane: Split(direction: Vertical, panes: [
(size: "3", borders: "ALL", border_symbols: Rounded , pane: Pane(QueueHeader())),
(size: "100%", borders: "ALL", border_symbols: Rounded ,pane: Pane(Queue)),
])),
(size: "35%", borders: "NONE", border_symbols: Rounded ,pane: Split(direction: Vertical, panes: [
(size: "0.47r", borders: "TOP | RIGHT | LEFT",
border_symbols: Rounded,
pane: Pane(AlbumArt)
),
(size: "100%", borders: "ALL",
border_symbols: Library("rounded_collapsed_top"),
border_title: [
(kind: Text(""), style: (fg: "#81a1c1")),
(kind: Text("Lyrics"), style: (fg: "#81a1c1")),
(kind: Text(""), style: (fg: "#81a1c1")),
],
border_title_position: Top,
border_title_alignment: Right,
pane: Pane(Lyrics)
),
])),
])),
(name: "Directories", pane: Split(direction: Horizontal,panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded, pane: Pane(Directories)),
])),
(name: "Playlists", pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded, pane: Pane(Playlists)),
])),
(name: "Artists", pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded, pane: Pane(Browser(
levels: [
(group_by: [[Artist]],
skip: SingleEmpty,
),
(group_by: [[Album], [Other("date"), Other("originaldate")]],
format: [
(kind: Group([
(kind: Text("(")),
(kind: Property(Other("date"))),
(kind: Text(") ")),
])),
(kind: Property(Album)),
],
),
],
))),
])),
(name: "Albums", pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded, pane: Pane(Browser(
levels: [
(group_by: [[Album]]),
],
))),
])),
(name: "Album Artists", pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded, pane: Pane(Browser(
levels: [
(
group_by: [[AlbumArtist]],
sort_by: [[AlbumArtist]],
format: [
(kind: Property(AlbumArtist), default: (kind: Text("<no albumartist>"))),
],
),
(
group_by: [[Album], [Other("date"), Other("originaldate")]],
format: [
(kind: Group([
(kind: Text("(")),
(kind: Property(Other("date"))),
(kind: Text(") ")),
])),
(kind: Property(Album)),
],
skip: UnpackEmpty,
),
],
))),
])),
(name: "Composer", pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded, pane: Pane(Browser(
levels: [
(group_by: [[Other("composer")]]),
(group_by: [[Album], [Other("date"), Other("originaldate")]],
format: [
(kind: Group([
(kind: Text("(")),
(kind: Property(Other("date"))),
(kind: Text(") ")),
])),
(kind: Property(Album)),
],
),
],
))),
])),
(name: "Genre", pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded, pane: Pane(Browser(
levels: [
(group_by: [[Other("genre")]]),
(group_by: [[AlbumArtist, Artist]],
sort_by: [[AlbumArtist, Artist]],
format: [
(kind: Property(AlbumArtist), default: (kind: Property(Artist), default: (kind: Text("no artist")))),
],
skip: SingleEmpty,
),
(group_by: [[Album], [Other("date"), Other("originaldate")]],
format: [
(kind: Group([
(kind: Text("(")),
(kind: Property(Other("date"))),
(kind: Text(") ")),
])),
(kind: Property(Album)),
],
skip: UnpackEmpty,
),
],
))),
])),
(name: "Queue", pane: Split(direction: Vertical, panes: [
(size: "2", borders: "TOP | RIGHT | LEFT", border_symbols: Rounded, pane: Pane(QueueHeader())),
(size: "100%", borders: "ALL", border_symbols: Library("rounded_collapsed_top"),
border_title: [
(kind: Text(""), style: (fg: "#81a1c1")),
(kind: Property(Song(File)), style: (fg: "#4c566a")),
(kind: Text(" ●─"), style: (fg: "#81a1c1")),
],
border_title_position: Bottom,
border_title_alignment: Right,
pane: Pane(Queue)
),
])),
(name: "Cava",pane: Split(direction: Vertical, panes: [
(size: "50%", pane: Split(direction: Horizontal, panes: [
(size: "39%", borders: "ALL", border_symbols: Rounded, pane: Pane(Queue)),
(size: "22%", borders: "ALL", border_symbols: Rounded, pane: Pane(AlbumArt)),
(size: "39%", borders: "ALL",
border_title: [
(kind: Text(""), style: (fg: "#81a1c1")),
(kind: Text("Lyrics"), style: (fg: "#81a1c1")),
(kind: Text("┌─"), style: (fg: "#81a1c1")),
],
border_title_position: Top,
border_title_alignment: Right,
border_symbols: Rounded,
pane: Pane(Lyrics)
),
])),
(size: "50%", borders: "ALL", border_symbols: Rounded, pane: Pane(Cava)),
])),
(name: "Search", pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded, pane: Pane(Search)),
])),
(name: "History", pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded,
border_title: [
(kind: Text("[ "), style: (fg: "#81a1c1")),
(kind: Text("History"), style: (fg: "#d8dee9")),
(kind: Text(" ]"), style: (fg: "#81a1c1")),
],
border_title_position: Top,
border_title_alignment: Center,
pane: Pane(Sticker(
sticker: "lastPlayed",
sort: ValueIntDesc,
limit: Some(10),
format: [
(kind: Property(Artist), default: (kind: Text("Unknown Artist"))),
(kind: Text(" - ")),
(kind: Property(Title), default: (kind: Text("Unknown Title"))),
],
))
),
])),
(name: "Most Played", pane: Split(direction: Horizontal, panes: [
(size: "100%", borders: "ALL", border_symbols: Rounded,
border_title: [
(kind: Text("[ "), style: (fg: "#81a1c1")),
(kind: Text("Most Played"), style: (fg: "#d8dee9")),
(kind: Text(" ]"), style: (fg: "#81a1c1")),
],
border_title_position: Top,
border_title_alignment: Center,
pane: Pane(Sticker(
sticker: "playCount",
sort: ValueIntDesc,
limit: Some(50),
format: [
(kind: Property(Artist), default: (kind: Text("Unknown Artist"))),
(kind: Text(" - ")),
(kind: Property(Title), default: (kind: Text("Unknown Title"))),
],
))
)
])),
],