207 lines
7.8 KiB
Text
207 lines
7.8 KiB
Text
#![enable(implicit_some)]
|
|
#![enable(unwrap_newtypes)]
|
|
#![enable(unwrap_variant_newtypes)]
|
|
(
|
|
default_album_art_path: None,
|
|
show_song_table_header: true,
|
|
draw_borders: true,
|
|
format_tag_separator: " | ",
|
|
browser_column_widths: [20, 38, 42],
|
|
background_color: None,
|
|
text_color: Some("{{ colors.secondary.default.hex }}"),
|
|
header_background_color: None,
|
|
modal_background_color: None,
|
|
modal_backdrop: false,
|
|
preview_label_style: (fg: "{{ colors.primary.default.hex }}"),
|
|
preview_metadata_group_style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold"),
|
|
tab_bar: (
|
|
active_style: (fg: "{{ colors.on_secondary.default.hex }}", bg: "{{ colors.secondary.default.hex }}", modifiers: "Bold"),
|
|
inactive_style: (fg: "{{ colors.secondary.default.hex }}", modifiers: "Bold"),
|
|
),
|
|
highlighted_item_style: (fg: "{{ colors.secondary.default.hex }}", modifiers: "Bold"),
|
|
current_item_style: (fg: "{{ colors.secondary.default.hex }}", bg: "{{ colors.inverse_primary.default.hex }}", modifiers: "Bold"),
|
|
borders_style: (fg: "{{ colors.secondary.default.hex }}"),
|
|
highlight_border_style: (fg: "{{ colors.secondary.default.hex }}"),
|
|
symbols: (
|
|
song: "S",
|
|
dir: "D",
|
|
playlist: "P",
|
|
marker: "M",
|
|
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: (
|
|
fg: "{{ colors.on_secondary.default.hex }}",
|
|
),
|
|
elapsed_style: (
|
|
fg: "{{ colors.secondary.default.hex }}",
|
|
),
|
|
thumb_style: (
|
|
fg: "{{ colors.secondary.default.hex }}",
|
|
),
|
|
use_track_when_empty: false,
|
|
),
|
|
scrollbar: (
|
|
symbols: ["│", "█", "▲", "▼"],
|
|
track_style: (fg: "{{ colors.secondary.default.hex }}"),
|
|
ends_style: (fg: "{{ colors.secondary_fixed.default.hex }}"),
|
|
thumb_style: (fg: "{{ colors.primary.default.hex }}"),
|
|
),
|
|
song_table_format: [
|
|
(
|
|
prop: (
|
|
kind: Property(Artist),
|
|
style: (fg: "{{ colors.primary_fixed.default.hex }}"),
|
|
default: (kind: Text("Unknown"), style: (fg: "{{ colors.primary_fixed.default.hex }}"))
|
|
),
|
|
width: "20%",
|
|
),
|
|
(
|
|
prop: (
|
|
kind: Property(Title),
|
|
style: (fg: "{{ colors.primary.default.hex }}"),
|
|
default: (kind: Text("Unknown"), style: (fg: "{{ colors.primary_fixed.default.hex }}"))
|
|
),
|
|
width: "35%",
|
|
),
|
|
(
|
|
prop: (kind: Property(Album), style: (fg: "{{ colors.primary_fixed.default.hex }}"),
|
|
default: (kind: Text("Unknown Album"), style: (fg: "{{ colors.primary_fixed.default.hex }}"))
|
|
),
|
|
width: "30%",
|
|
),
|
|
(
|
|
prop: (kind: Property(Duration), style: (fg: "{{ colors.primary.default.hex }}"),
|
|
default: (kind: Text("-"), style: (fg: "{{ colors.primary_fixed.default.hex }}"))
|
|
),
|
|
width: "15%",
|
|
alignment: Right,
|
|
),
|
|
],
|
|
components: {},
|
|
layout: Split(
|
|
direction: Vertical,
|
|
panes: [
|
|
(
|
|
pane: Pane(Header),
|
|
size: "2",
|
|
),
|
|
(
|
|
pane: Pane(Tabs),
|
|
size: "3",
|
|
),
|
|
(
|
|
pane: Pane(TabContent),
|
|
size: "100%",
|
|
),
|
|
(
|
|
pane: Pane(ProgressBar),
|
|
size: "1",
|
|
),
|
|
],
|
|
),
|
|
header: (
|
|
rows: [
|
|
(
|
|
left: [
|
|
(kind: Text("["), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold")),
|
|
(
|
|
kind: Property(Status(StateV2(playing_label: "Playing", paused_label: "Paused", stopped_label: "Stopped"))),
|
|
style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold")
|
|
),
|
|
(kind: Text("]"), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold"))
|
|
],
|
|
center: [
|
|
(kind: Property(Song(Title)), style: (modifiers: "Bold"),
|
|
default: (kind: Text("No Song"), style: (modifiers: "Bold"))
|
|
)
|
|
],
|
|
right: [
|
|
(kind: Property(Widget(ScanStatus)), style: (fg: "{{ colors.primary.default.hex }}")),
|
|
(kind: Property(Widget(Volume)), style: (fg: "{{ colors.primary.default.hex }}"))
|
|
]
|
|
),
|
|
(
|
|
left: [
|
|
(kind: Property(Status(Elapsed))),
|
|
(kind: Text(" / ")),
|
|
(kind: Property(Status(Duration))),
|
|
(kind: Text(" (")),
|
|
(kind: Property(Status(Bitrate))),
|
|
(kind: Text(" kbps)"))
|
|
],
|
|
center: [
|
|
(kind: Property(Song(Artist)), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold"),
|
|
default: (kind: Text("Unknown"), style: (fg: "{{ colors.tertiary.default.hex }}", modifiers: "Bold"))
|
|
),
|
|
(kind: Text(" - ")),
|
|
(kind: Property(Song(Album)),
|
|
style: (fg: "{{ colors.primary.default.hex }}"),
|
|
default: (kind: Text("Unknown Album"))
|
|
)
|
|
],
|
|
right: [
|
|
(
|
|
kind: Property(Widget(States(
|
|
active_style: (fg: "{{ colors.primary.default.hex }}", modifiers: "Bold"),
|
|
separator_style: (fg: "{{ colors.primary.default.hex }}")))
|
|
),
|
|
style: (fg: "{{ colors.secondary_fixed_dim.default.hex }}")
|
|
),
|
|
]
|
|
),
|
|
],
|
|
),
|
|
browser_song_format: [
|
|
(
|
|
kind: Group([
|
|
(kind: Property(Track), style: (fg: "{{ colors.primary.default.hex }}")),
|
|
(kind: Text(" ")),
|
|
])
|
|
),
|
|
(
|
|
kind: Group([
|
|
(kind: Property(Artist), style: (fg: "{{ colors.primary.default.hex }}")),
|
|
(kind: Text(" - ")),
|
|
(kind: Property(Title), style: (fg: "{{ colors.primary.default.hex }}")),
|
|
]),
|
|
default: (kind: Property(Filename), style: (fg: "{{ colors.primary.default.hex }}"))
|
|
),
|
|
],
|
|
lyrics: (
|
|
timestamp: false
|
|
),
|
|
cava: (
|
|
|
|
bar_width: 2, // width of a single bar in columns
|
|
bar_spacing: 1, // free space between bars in columns
|
|
|
|
orientation: Bottom,
|
|
|
|
// A simple color gradient.
|
|
// This is a map where keys are percent values of the height where the
|
|
// color starts. After that it is linearly interpolated towards the next
|
|
// value. Keys must be between 0 and 100 and if the first or last key
|
|
// are not 0 and 100 respectively, the lowest and highest value will be
|
|
// used as 0 and 100.
|
|
// Only hex and RGB colors are supported here and your terminal must
|
|
// support them as well!
|
|
// rmpc does not support `horizontal_gradient` (yet?)
|
|
bar_color: Gradient({
|
|
0: "{{colors.primary_container.default.hex}}",
|
|
50: "{{colors.primary.default.hex}}",
|
|
100: "{{colors.on_primary_container.default.hex}}"
|
|
})
|
|
),
|
|
)
|