aboutsummaryrefslogtreecommitdiff
path: root/.config/rmpc
diff options
context:
space:
mode:
Diffstat (limited to '.config/rmpc')
-rw-r--r--.config/rmpc/config.ron218
-rwxr-xr-x.config/rmpc/scripts/statusbar2
-rw-r--r--.config/rmpc/themes/def.ron238
3 files changed, 458 insertions, 0 deletions
diff --git a/.config/rmpc/config.ron b/.config/rmpc/config.ron
new file mode 100644
index 0000000..0818ddb
--- /dev/null
+++ b/.config/rmpc/config.ron
@@ -0,0 +1,218 @@
+#![enable(implicit_some)]
+#![enable(unwrap_newtypes)]
+#![enable(unwrap_variant_newtypes)]
+(
+ address: "127.0.0.1:6600",
+ volume_step: 5,
+ scrolloff: 2,
+ max_fps: 60,
+ wrap_navigation: true,
+ theme: "def",
+ lyrics_dir: "/mnt/ssd/music",
+ on_song_change: ["~/.config/rmpc/scripts/statusbar"],
+ on_resize: None,
+ status_update_interval_ms: 1000,
+ enable_mouse: true,
+ enable_config_hot_reload: true,
+ album_art: (
+ method: Auto,
+ max_size_px: (width: 0, height: 0),
+ vertical_align: Top,
+ horizontal_align: Center,
+ ),
+ keybinds: (
+ global: {
+ ":": CommandMode,
+ ",": VolumeDown,
+ "s": Stop,
+ ".": VolumeUp,
+ "<Tab>": NextTab,
+ "<S-Tab>": PreviousTab,
+ "1": SwitchToTab("Queue"),
+ "2": SwitchToTab("Directories"),
+ "3": SwitchToTab("Artists"),
+ "4": SwitchToTab("Album Artists"),
+ "5": SwitchToTab("Albums"),
+ "6": SwitchToTab("Playlists"),
+ "7": SwitchToTab("Search"),
+ "q": Quit,
+ ">": NextTrack,
+ "p": TogglePause,
+ "<": PreviousTrack,
+ "f": SeekForward,
+ "z": ToggleRepeat,
+ "x": ToggleRandom,
+ "c": ToggleConsume,
+ "v": ToggleSingle,
+ "b": SeekBack,
+ "~": ShowHelp,
+ "I": ShowCurrentSongInfo,
+ "O": ShowOutputs,
+ "P": ShowDecoders,
+ },
+ navigation: {
+ "k": Up,
+ "j": Down,
+ "h": Left,
+ "l": Right,
+ "<Up>": Up,
+ "<Down>": Down,
+ "<Left>": Left,
+ "<Right>": Right,
+ "<C-k>": PaneUp,
+ "<C-j>": PaneDown,
+ "<C-h>": PaneLeft,
+ "<C-l>": PaneRight,
+ "<C-u>": UpHalf,
+ "N": PreviousResult,
+ "a": Add,
+ "A": AddAll,
+ "r": Rename,
+ "n": NextResult,
+ "g": Top,
+ "<Space>": Select,
+ "<C-Space>": InvertSelection,
+ "G": Bottom,
+ "<CR>": Confirm,
+ "i": FocusInput,
+ "J": MoveDown,
+ "<C-d>": DownHalf,
+ "/": EnterSearch,
+ "<C-c>": Close,
+ "<Esc>": Close,
+ "K": MoveUp,
+ "D": Delete,
+ },
+ 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"),
+ ],
+ ),
+ tabs: [
+ (
+ name: "Queue",
+ border_type: None,
+ pane: Split(
+ direction: Horizontal,
+ panes: [
+ (
+ size: "40%",
+ borders: "RIGHT",
+ pane: Split(
+ direction: Vertical,
+ panes: [
+ (
+ size: "3",
+ pane: Pane(Lyrics),
+ ),
+ (
+ size: "100%",
+ pane: Pane(AlbumArt),
+ )
+ ],
+ ),
+ ),
+ (
+ size: "60%",
+ pane: Pane(Queue),
+ ),
+ ],
+ ),
+ ),
+ (
+ name: "Directories",
+ border_type: None,
+ pane: Pane(Directories),
+ ),
+ (
+ name: "Artists",
+ border_type: None,
+ pane: Pane(Artists),
+ ),
+ (
+ name: "Album Artists",
+ border_type: None,
+ pane: Pane(AlbumArtists),
+ ),
+ (
+ name: "Albums",
+ border_type: None,
+ pane: Pane(Albums),
+ ),
+ (
+ name: "Playlists",
+ border_type: None,
+ pane: Pane(Playlists),
+ ),
+ (
+ name: "Search",
+ border_type: None,
+ pane: Pane(Search),
+ ),
+ (
+ name: "Testing",
+ border_type: Single,
+ pane: Split(
+ direction: Horizontal,
+ panes: [
+ (
+ size: "40%",
+ pane: Pane(Queue),
+ ),
+ (
+ size: "60%",
+ pane: Split(
+ direction: Vertical,
+ panes: [
+ (
+ size: "50%",
+ pane: Pane(Directories),
+ ),
+ (
+ size: "50%",
+ pane: Split(
+ direction: Horizontal,
+ panes: [
+ (
+ size: "60%",
+ pane: Split(
+ direction: Vertical,
+ panes: [
+ (
+ size: "50%",
+ pane: Pane(Albums),
+ ),
+ (
+ size: "50%",
+ pane: Pane(Artists),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ ],
+)
diff --git a/.config/rmpc/scripts/statusbar b/.config/rmpc/scripts/statusbar
new file mode 100755
index 0000000..3508a02
--- /dev/null
+++ b/.config/rmpc/scripts/statusbar
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/bin/pkill -RTMIN+11 waybar
diff --git a/.config/rmpc/themes/def.ron b/.config/rmpc/themes/def.ron
new file mode 100644
index 0000000..c4baa27
--- /dev/null
+++ b/.config/rmpc/themes/def.ron
@@ -0,0 +1,238 @@
+#![enable(implicit_some)]
+#![enable(unwrap_newtypes)]
+#![enable(unwrap_variant_newtypes)]
+(
+ draw_borders: false,
+ show_song_table_header: true,
+ background_color: None,
+ default_album_art_path: None,
+ header_background_color: None,
+ modal_background_color: None,
+ modal_backdrop: true,
+ text_color: None,
+ layout: Split(
+ direction: Vertical,
+ panes: [
+ (
+ size: "4",
+ borders: "ALL",
+ pane: Split(
+ direction: Vertical,
+ panes: [
+ (
+ size: "1",
+ direction: Vertical,
+ pane: Split(
+ direction: Horizontal,
+ panes: [
+ (
+ size: "23",
+ pane: 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,
+ )),
+ ),
+ (
+ size: "100%",
+ borders: "LEFT | RIGHT",
+ pane: Pane(Property(
+ content: [
+ (kind: Property(Song(Filename)), style: (modifiers: "Bold"),
+ default: (kind: Text("No Song"), style: (modifiers: "Bold")))
+ ], align: Center, scroll_speed: 1
+ )),
+ ),
+ (
+ size: "23",
+ pane: Pane(Property(
+ content: [
+ (kind: Property(Widget(Volume)), style: (fg: "blue", modifiers: "Bold"))
+ ], align: Right
+ )),
+ ),
+ ],
+ ),
+ ),
+ (
+ size: "1",
+ direction: Vertical,
+ pane: Split(
+ direction: Horizontal,
+ panes: [
+ (
+ size: "23",
+ pane: 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,
+ )),
+ ),
+ (
+ size: "100%",
+ borders: "LEFT | RIGHT",
+ pane: 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: 2
+ )),
+ ),
+ (
+ size: "23",
+ pane: Pane(Property(content: [
+ (kind: Property(Status(RepeatV2(
+ on_label: " ",
+ off_label: " ",
+ on_style: (fg: "yellow", modifiers: "Bold"),
+ off_style: (fg: "blue", modifiers: "Dim"),
+ )))),
+ (kind: Property(Status(RandomV2(
+ on_label: " ",
+ off_label: " ",
+ on_style: (fg: "yellow", modifiers: "Bold"),
+ off_style: (fg: "blue", modifiers: "Dim"),
+ )))),
+ (kind: Property(Status(SingleV2(
+ on_label: "󰑘 ",
+ off_label: "󰑘 ",
+ oneshot_label: "󰑘 ",
+ on_style: (fg: "yellow", modifiers: "Bold"),
+ off_style: (fg: "blue", modifiers: "Dim"),
+ oneshot_style: (fg: "red", modifiers: "Bold"),
+ )))),
+ (kind: Property(Status(ConsumeV2(
+ on_label: " ",
+ off_label: " ",
+ oneshot_label: "",
+ on_style: (fg: "yellow", modifiers: "Bold"),
+ off_style: (fg: "blue", modifiers: "Dim"),
+ oneshot_style: (fg: "red", modifiers: "Dim"),
+ )))),
+ ], align: Right)),
+ ),
+ ],
+ ),
+ ),
+ ]
+ )
+ ),
+ (
+ size: "3",
+ borders: "ALL",
+ pane: Pane(Tabs),
+ ),
+ (
+ size: "100%",
+ borders: "ALL",
+ background_color: "red",
+ pane: Pane(TabContent),
+ ),
+ (
+ size: "3",
+ borders: "ALL",
+ pane: Split(
+ direction: Horizontal,
+ panes: [
+ (
+ pane: Pane(Property(content: [(kind: Property(Status(StateV2(playing_label: "  ", paused_label: "  ", stopped_label: "  ",
+ playing_style: (fg: "blue"), paused_style: (fg: "green"), stopped_style: (fg: "red")
+ ))))], align: Left)),
+ size: "3",
+ ),
+ (
+ size: "100%",
+ pane: Pane(ProgressBar),
+ ),
+ (
+ size: "13",
+ pane: Pane(Property(
+ content: [
+ (kind: Property(Status(Elapsed))),
+ (kind: Text(" / ")),
+ (kind: Property(Status(Duration))),
+ ], align: Right,
+ )),
+ ),
+ ]
+ ),
+ ),
+ ]
+ ),
+ symbols: (
+ song: "",
+ dir: "",
+ marker: "\u{e0b0}",
+ ellipsis: "…"
+ ),
+ progress_bar: (
+ symbols: ["█", "\u{e0b0}", "█"],
+ track_style: (fg: "#1e2030"),
+ elapsed_style: (fg: "blue"),
+ thumb_style: (fg: "blue", bg: "#1e2030"),
+ ),
+ scrollbar: (
+ symbols: ["│", "█", "▲", "▼"],
+ track_style: (),
+ ends_style: (),
+ thumb_style: (fg: "blue"),
+ ),
+ browser_column_widths: [20, 38, 42],
+ browser_song_format: [
+ (
+ kind: Group([
+ (kind: Property(Track)),
+ (kind: Text(" ")),
+ ])
+ ),
+ (
+ kind: Group([
+ (kind: Property(Artist)),
+ (kind: Text(" - ")),
+ (kind: Property(Title)),
+ ]),
+ default: (kind: Property(Filename))
+ ),
+ ],
+ tab_bar: (
+ active_style: (fg: "black", bg: "blue", modifiers: "Bold"),
+ inactive_style: (),
+ ),
+ highlighted_item_style: (fg: "blue", modifiers: "Bold"),
+ current_item_style: (fg: "black", bg: "blue", modifiers: "Bold"),
+ borders_style: (fg: "blue", modifiers: "Bold"),
+ highlight_border_style: (fg: "red"),
+ song_table_format: [
+ (
+ prop: (kind: Property(Other("albumartist")), default: (kind: Property(Artist), default: (kind: Text("Unknown")))),
+ width: "20%",
+ label: "Artist"
+ ),
+ (
+ prop: (kind: Property(Title), default: (kind: Text("Unknown"))),
+ width: "35%",
+ ),
+ (
+ prop: (kind: Property(Album), default: (kind: Text("Unknown Album"))),
+ width: "45%",
+ ),
+ (
+ prop: (kind: Property(Duration),default: (kind: Text("-"))),
+ width: "5",
+ alignment: Right,
+ label: "Len"
+ ),
+ ],
+ header: (rows: []),
+)