aboutsummaryrefslogtreecommitdiff
path: root/config/rmpc/themes
diff options
context:
space:
mode:
authorRubén Beltrán del Río <jj@r.bdr.sh>2026-07-14 15:02:51 +0200
committerRubén Beltrán del Río <jj@r.bdr.sh>2026-09-02 23:39:51 +0200
commit01745ca8b870d87894673b778c01a04bca841caa (patch)
treed8a62362d0977352d0d3a098199cf91cc2ea4173 /config/rmpc/themes
parent51b27719a444764872f018a56e36ff406e892b27 (diff)
Add rmpc config
Diffstat (limited to 'config/rmpc/themes')
-rw-r--r--config/rmpc/themes/rbdr.ron330
1 files changed, 330 insertions, 0 deletions
diff --git a/config/rmpc/themes/rbdr.ron b/config/rmpc/themes/rbdr.ron
new file mode 100644
index 0000000..e38c492
--- /dev/null
+++ b/config/rmpc/themes/rbdr.ron
@@ -0,0 +1,330 @@
+#![enable(implicit_some)]
+#![enable(unwrap_newtypes)]
+#![enable(unwrap_variant_newtypes)]
+(
+ default_album_art_path: None,
+ format_tag_separator: " | ",
+ browser_column_widths: [20, 38, 42],
+ background_color: "#ffffff",
+ text_color: "black",
+ header_background_color: "#ffffff",
+ modal_background_color: None,
+ modal_backdrop: false,
+ preview_label_style: (fg: "yellow"),
+ preview_metadata_group_style: (fg: "yellow", modifiers: "Bold"),
+ highlighted_item_style: (fg: "blue", modifiers: "Bold"),
+ current_item_style: (fg: "#ffffff", bg: "blue", modifiers: "Bold"),
+ borders_style: (fg: "white"),
+ border_symbol_sets: {
+ "rbdr": (
+ top_left: "a",
+ top_right: "b",
+ bottom_left: "c",
+ bottom_right: "d",
+ vertical_left: "|",
+ vertical_right: "|",
+ horizontal_top: "─",
+ horizontal_bottom: "-",
+ ),
+ },
+ highlight_border_style: (fg: "blue"),
+ symbols: (
+ song: "♬",
+ dir: " ",
+ playlist: "",
+ marker: "✳",
+ ellipsis: "…",
+ song_style: None,
+ dir_style: None,
+ playlist_style: None,
+ ),
+ 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: (
+ symbols: ["◖", "█", "◗", " ", "◗"],
+ track_style: None,
+ elapsed_style: (fg: "blue"),
+ thumb_style: (fg: "blue"),
+ use_track_when_empty: true,
+ ),
+ scrollbar: (
+ symbols: ["│", "█", "▲", "▼"],
+ track_style: (),
+ ends_style: (),
+ thumb_style: (fg: "blue"),
+ ),
+ tab_bar: (
+ active_style: (fg: "#ffffff", bg: "blue", modifiers: "Bold"),
+ inactive_style: (),
+ ),
+ lyrics: (
+ timestamp: false
+ ),
+ browser_song_format: [
+ (
+ kind: Group([
+ (kind: Property(Track)),
+ (kind: Text(" ")),
+ ])
+ ),
+ (
+ kind: Group([
+ (kind: Property(Artist)),
+ (kind: Text(" - ")),
+ (kind: Property(Title)),
+ ]),
+ default: (kind: Property(Filename))
+ ),
+ ],
+ song_table_format: [
+ (
+ prop: (kind: Property(Artist),
+ default: (kind: Text("Unknown"))
+ ),
+ label_prop: (kind: Text("Artist")),
+ width: "20%",
+ ),
+ (
+ prop: (kind: Property(Title),
+ default: (kind: Text("Unknown"))
+ ),
+ label_prop: (kind: Text("Title")),
+ width: "35%",
+ ),
+ (
+ prop: (kind: Property(Album), style: (fg: "cyan"),
+ default: (kind: Text("Unknown Album"), style: (fg: "white"))
+ ),
+ label_prop: (kind: Text("Album")),
+ width: "30%",
+ ),
+ (
+ prop: (kind: Property(Duration), style: (fg: "dark_gray"),
+ default: (kind: Text("-"))
+ ),
+ label_prop: (kind: Text("Duration")),
+ width: "15%",
+ alignment: Right,
+ ),
+ ],
+ layout: Split(
+ direction: Vertical,
+ panes: [
+ (
+ size: "4",
+ pane: Split(
+ direction: Horizontal,
+ panes: [
+ (
+ size: "35",
+ borders: "LEFT | TOP | BOTTOM",
+ border_symbols: Inherited(parent: Rounded, bottom_left: "├"),
+ pane: Component("header_left")
+ ),
+ (
+ size: "100%",
+ borders: "ALL",
+ border_symbols: Inherited(parent: Rounded, top_left: "┬", top_right: "┬", bottom_left: "┴", bottom_right: "┴"),
+ pane: Component("header_center")
+ ),
+ (
+ size: "35",
+ borders: "RIGHT | TOP | BOTTOM",
+ border_symbols: Inherited(parent: Rounded, bottom_right: "┤"),
+ pane: Component("header_right")
+ ),
+ ]
+ )
+ ),
+ (
+ pane: Pane(Tabs),
+ borders: "RIGHT | LEFT | BOTTOM",
+ border_symbols: Rounded,
+ size: "2",
+ ),
+ (
+ pane: Pane(TabContent),
+ size: "100%",
+ ),
+ (
+ size: "3",
+ borders: "TOP",
+ border_symbols: Library("rbdr"),
+ pane: Split(
+ direction: Horizontal,
+ panes: [
+ (
+ size: "4",
+ borders: "NONE",
+ pane: Component("input_mode")
+ ),
+ (
+ size: "100%",
+ borders: "NONE",
+ pane: Component("progress_bar"),
+ ),
+ (
+ size: "20",
+ borders: "NONE",
+ pane: Component("queue_status"),
+ ),
+ ]
+ ),
+ ),
+ ],
+ ),
+ components: {
+ "state": Pane(Property(
+ content: [
+ (kind: Text("["), style: (fg: "yellow", modifiers: "Bold")),
+ (kind: Property(Status(StateV2( ))), style: (fg: "yellow", modifiers: "Bold")),
+ (kind: Text("]"), style: (fg: "yellow", modifiers: "Bold")),
+ ], align: Left,
+ )),
+ "title": Pane(Property(
+ content: [
+ (kind: Property(Song(Title)), style: (modifiers: "Bold"),
+ default: (kind: Text("No Song"), style: (modifiers: "Bold"))),
+ ], align: Center, scroll_speed: 1
+ )),
+ "volume": Split(
+ direction: Horizontal,
+ panes: [
+ (size: "1", pane: Pane(Property(content: [(kind: Text(""))]))),
+ (size: "100%", pane: Pane(Volume(kind: Slider(symbols: (filled: "─", thumb: "●", track: "─"))))),
+ (size: "3", pane: Pane(Property(content: [(kind: Property(Status(Volume)), style: (fg: "blue"))], align: Right))),
+ (size: "2", pane: Pane(Property(content: [(kind: Text("%"), style: (fg: "blue"))]))),
+ ]
+ ),
+ "elapsed_and_bitrate": Pane(Property(
+ content: [
+ (kind: Property(Status(Elapsed))),
+ (kind: Text(" / ")),
+ (kind: Property(Status(Duration))),
+ (kind: Group([
+ (kind: Text(" (")),
+ (kind: Property(Status(Bitrate))),
+ (kind: Text(" kbps)")),
+ ])),
+ ],
+ align: Left,
+ )),
+ "artist_and_album": Pane(Property(
+ content: [
+ (kind: Property(Song(Artist)), style: (fg: "yellow", modifiers: "Bold"),
+ default: (kind: Text("Unknown"), style: (fg: "yellow", modifiers: "Bold"))),
+ (kind: Text(" - ")),
+ (kind: Property(Song(Album)), default: (kind: Text("Unknown Album"))),
+ ], align: Center, scroll_speed: 1
+ )),
+ "states": Split(
+ direction: Horizontal,
+ panes: [
+ (
+ size: "1",
+ pane: Pane(Empty())
+ ),
+ (
+ size: "100%",
+ pane: Pane(Property(content: [(kind: Property(Status(InputBuffer())), style: (fg: "blue"), align: Left)]))
+ ),
+ (
+ size: "6",
+ pane: Pane(Property(content: [
+ (kind: Text("["), style: (fg: "blue", modifiers: "Bold")),
+ (kind: Property(Status(RepeatV2(
+ on_label: "z",
+ off_label: "z",
+ on_style: (fg: "yellow", modifiers: "Bold"),
+ off_style: (fg: "blue", modifiers: "Dim"),
+ )))),
+ (kind: Property(Status(RandomV2(
+ on_label: "x",
+ off_label: "x",
+ on_style: (fg: "yellow", modifiers: "Bold"),
+ off_style: (fg: "blue", modifiers: "Dim"),
+ )))),
+ (kind: Property(Status(ConsumeV2(
+ on_label: "c",
+ off_label: "c",
+ oneshot_label: "c",
+ on_style: (fg: "yellow", modifiers: "Bold"),
+ off_style: (fg: "blue", modifiers: "Dim"),
+ oneshot_style: (fg: "red", modifiers: "Dim"),
+ )))),
+ (kind: Property(Status(SingleV2(
+ on_label: "v",
+ off_label: "v",
+ oneshot_label: "v",
+ on_style: (fg: "yellow", modifiers: "Bold"),
+ off_style: (fg: "blue", modifiers: "Dim"),
+ oneshot_style: (fg: "red", modifiers: "Bold"),
+ )))),
+ (kind: Text("]"), style: (fg: "blue", modifiers: "Bold")),
+ ],
+ align: Right
+ ))
+ ),
+ ]
+ ),
+ "input_mode": Pane(Property(
+ content: [
+ (kind: Transform(Replace(content: (kind: Property(Status(InputMode()))), replacements: [
+ (match: "Normal", replace: (kind: Text(" N "), style: (fg: "blue", bg: "#ffffff"))),
+ (match: "Insert", replace: (kind: Text(" I "), style: (fg: "green", bg: "#ffffff"))),
+ ])))
+ ], align: Center
+ )),
+ "header_left": Split(
+ direction: Vertical,
+ panes: [
+ (size: "1", pane: Component("state")),
+ (size: "1", pane: Component("elapsed_and_bitrate")),
+ ]
+ ),
+ "header_center": Split(
+ direction: Vertical,
+ panes: [
+ (size: "1", pane: Component("title")),
+ (size: "1", pane: Component("artist_and_album")),
+ ]
+ ),
+ "header_right": Split(
+ direction: Vertical,
+ panes: [
+ (size: "1", pane: Component("volume")),
+ (size: "1", pane: Component("states")),
+ ]
+ ),
+ "progress_bar": Split(
+ direction: Horizontal,
+ panes: [
+ (
+ size: "1",
+ pane: Pane(Empty())
+ ),
+ (
+ size: "100%",
+ pane: Pane(ProgressBar)
+ ),
+ (
+ size: "1",
+ pane: Pane(Empty())
+ ),
+ ]
+ ),
+ "queue_status": Pane(Property(
+ content: [
+ (kind: Text("♬ ")),
+ (kind: Property(Status(QueueLength()))),
+ (kind: Text(" 󰥔 ")),
+ (kind: Property(Status(QueueTimeTotal()))),
+ ],
+ )),
+ },
+)