diff options
Diffstat (limited to '.config/rmpc')
-rw-r--r-- | .config/rmpc/config.ron | 218 | ||||
-rwxr-xr-x | .config/rmpc/scripts/statusbar | 2 | ||||
-rw-r--r-- | .config/rmpc/themes/def.ron | 238 |
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: []), +) |