This commit is contained in:
nnwhen 2025-06-16 02:04:11 +02:00
commit 367711b7a1
6 changed files with 664 additions and 0 deletions

159
rmpc/config.ron Normal file
View file

@ -0,0 +1,159 @@
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
address: "127.0.0.1:6600",
password: None,
theme: Some("nnwhen"),
cache_dir: Some("~/.cache/rmpc/"),
on_song_change: None,
volume_step: 5,
max_fps: 30,
scrolloff: 0,
wrap_navigation: false,
enable_mouse: true,
status_update_interval_ms: 1000,
select_current_song_on_change: false,
album_art: (
method: Auto,
max_size_px: (width: 1200, height: 1200),
disabled_protocols: ["http://", "https://"],
vertical_align: Top,
horizontal_align: Center,
),
keybinds: (
global: {
"q": Quit,
":": CommandMode,
"?": ShowHelp,
"I": ShowCurrentSongInfo,
"<": PreviousTrack,
">": NextTrack,
"p": PreviousTrack,
"n": NextTrack,
".": SeekForward,
",": SeekBack,
"<Space>": TogglePause,
"[": VolumeDown,
"]": VolumeUp,
"-": VolumeDown,
"=": VolumeUp,
// "s": Stop,
"x": ToggleRandom,
"v": ToggleSingle,
// "O": ShowOutputs,
// "z": ToggleRepeat,
// "c": ToggleConsume,
// "P": ShowDecoders,
"<Tab>": NextTab,
"<S-Tab>": PreviousTab,
"L": NextTab,
"H": PreviousTab,
"z": SwitchToTab("Queue"),
"1": SwitchToTab("Queue"),
"2": SwitchToTab("Artists"),
"3": SwitchToTab("Albums"),
"4": SwitchToTab("Playlists"),
"5": SwitchToTab("Search"),
// "4": SwitchToTab("Album Artists"),
// "2": SwitchToTab("Directories"),
},
navigation: {
"<C-c>": Close,
"<Esc>": Close,
"i": FocusInput,
"/": EnterSearch,
"r": Rename,
"a": Add,
"A": AddAll,
"g": Top,
"G": Bottom,
"k": Up,
"j": Down,
"h": Left,
"l": Right,
"K": MoveUp,
"J": MoveDown,
"D": Delete,
"<C-k>": PaneUp,
"<C-j>": PaneDown,
"<C-h>": PaneLeft,
"<C-l>": PaneRight,
"<C-u>": UpHalf,
"<C-d>": DownHalf,
"w": NextResult,
"W": PreviousResult,
"s": Select,
"<C-s>": InvertSelection,
"<CR>": Confirm,
},
queue: {
"D": DeleteAll,
"<CR>": Play,
"<C-s>": Save,
"a": AddToPlaylist,
"d": Delete,
"i": ShowInfo,
"C": JumpToCurrent,
},
),
search: (
case_sensitive: false,
mode: Contains,
tags: [
(value: "any", label: "Any Tag"),
(value: "artist", label: "Artist"),
(value: "album", label: "Album"),
// (value: "albumartist", label: "Album Artist"),
(value: "title", label: "Title"),
// (value: "filename", label: "Filename"),
// (value: "genre", label: "Genre"),
],
),
artists: (
album_display_mode: SplitByDate,
album_sort_by: Date,
),
tabs: [
(
name: "Queue",
pane: Split(
direction: Horizontal,
panes: [(size: "75%", pane: Pane(Queue)), (size: "25%", pane: Pane(AlbumArt))],
),
),
// (
// name: "Directories",
// pane: Pane(Directories),
// ),
(
name: "Artists",
pane: Pane(Artists),
),
// (
// name: "Album Artists",
// pane: Pane(AlbumArtists),
// ),
(
name: "Albums",
pane: Pane(Albums),
),
(
name: "Playlists",
pane: Pane(Playlists),
),
(
name: "Search",
pane: Pane(Search),
),
],
)

144
rmpc/themes/nnwhen.ron Normal file
View file

@ -0,0 +1,144 @@
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
default_album_art_path: None,
show_song_table_header: true,
draw_borders: false,
browser_column_widths: [20, 38, 42],
background_color: Some("#181a1b"),
text_color: Some("#ffffff"),
header_background_color: None,
modal_background_color: None,
tab_bar: (
enabled: true,
active_style: (fg: "#181a1b", bg: "#cebeb3", modifiers: "Bold"),
inactive_style: (),
),
highlighted_item_style: (fg: "#ce7961", modifiers: "Bold"),
current_item_style: (fg: "#181a1b", bg: "#e3beb3", modifiers: "Bold"),
borders_style: (fg: "#ce7961"),
highlight_border_style: (fg: "#e3beb3"),
symbols: (song: "S", dir: "D", marker: "M", ellipsis: "..."),
progress_bar: (
symbols: [" ", " ", " "],
track_style: (fg: "#1e2030"),
elapsed_style: (fg: "#ce7961", bg: "#ce7961"),
thumb_style: (fg: "#ce7961", bg: "#ce7961"),
),
scrollbar: (
symbols: [" ", "█", "▲", "▼"],
track_style: (),
ends_style: (),
thumb_style: (fg: "#ce7961"),
),
song_table_format: [
(
prop: (kind: Property(Artist),
default: (kind: Text("Unknown"))
),
width: "20%",
),
(
prop: (kind: Property(Title),
default: (kind: Text("Unknown"))
),
width: "35%",
),
(
prop: (kind: Property(Album), style: (fg: "#f1d4cf"),
default: (kind: Text("Unknown Album"), style: (fg: "#f1d4cf"))
),
width: "30%",
),
(
prop: (kind: Property(Duration),
default: (kind: Text("-"))
),
width: "15%",
alignment: Right,
),
],
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: "#ce7961", modifiers: "Bold")),
(kind: Property(Status(StateV2(playing_label: "Playing", paused_label: "Paused", stopped_label: "Stopped"))), style: (fg: "#ce7961", modifiers: "Bold")),
(kind: Text("]"), style: (fg: "#ce7961", modifiers: "Bold"))
],
center: [
(kind: Property(Song(Title)), style: (modifiers: "Bold"),
default: (kind: Text("No Song"), style: (modifiers: "Bold"))
)
],
right: [
(kind: Property(Widget(Volume)), style: (fg: "#ce7961"))
]
),
(
left: [
(kind: Property(Status(Elapsed))),
(kind: Text(" / ")),
(kind: Property(Status(Duration))),
],
center: [
(kind: Property(Song(Artist)), style: (fg: "#ce7961", modifiers: "Bold"),
default: (kind: Text("Unknown"), style: (fg: "#ce7961", modifiers: "Bold"))
),
(kind: Text(" - ")),
(kind: Property(Song(Album)),
default: (kind: Text("Unknown Album"))
)
],
right: [
(
kind: Property(Widget(States(
active_style: (fg: "#f1d4cf", modifiers: "Bold"),
separator_style: (fg: "#f1d4cf")))
),
style: (fg: "dark_gray")
),
]
),
],
),
browser_song_format: [
(
kind: Group([
(kind: Property(Track)),
(kind: Text(" ")),
])
),
(
kind: Group([
(kind: Property(Artist)),
(kind: Text(" - ")),
(kind: Property(Title)),
]),
default: (kind: Property(Filename))
),
],
)