diff options
Diffstat (limited to '.config/rmpc')
| -rw-r--r-- | .config/rmpc/config.ron | 201 | ||||
| -rwxr-xr-x | .config/rmpc/scripts/statusbar | 2 | ||||
| -rw-r--r-- | .config/rmpc/themes/def.ron | 193 |
3 files changed, 396 insertions, 0 deletions
diff --git a/.config/rmpc/config.ron b/.config/rmpc/config.ron new file mode 100644 index 0000000..58b2f98 --- /dev/null +++ b/.config/rmpc/config.ron @@ -0,0 +1,201 @@ +#![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"), + "2": SwitchToTab("Artists"), + "3": SwitchToTab("Albums"), + "4": SwitchToTab("Genres"), + "5": SwitchToTab("Playlists"), + "6": 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", + pane: Split( + direction: Vertical, + panes: [ + ( + size: "100%", + borders: "NONE", + pane: Split( + borders: "NONE", + direction: Horizontal, + panes: [ + ( + size: "70%", + borders: "ALL", + pane: Pane(Queue), + ), + ( + size: "30%", + borders: "ALL", + pane: Split( + direction: Vertical, + panes: [ + ( + size: "75%", + borders: "NONE", + pane: Pane(AlbumArt), + ), + ( + size: "35%", + borders: "NONE", + pane: Split( + direction: Vertical, + panes: [ + ( + size: "100%", + pane: Pane(Lyrics), + ), + ] + ), + ), + ] + ), + ), + ] + ), + ), + ], + ), + ), + // ( + // name: "Directories", + // pane: Split( + // direction: Horizontal, + // panes: [(size: "100%", borders: "ALL", pane: Pane(Directories))], + // ), + // ), + ( + name: "Artists", + pane: Split( + direction: Horizontal, + panes: [(size: "100%", borders: "ALL", pane: Pane(Artists))], + ), + ), + ( + name: "Albums", + pane: Split( + direction: Horizontal, + panes: [(size: "100%", borders: "ALL", pane: Pane(Albums))], + ), + ), + ( + name: "Genres", + pane: Split( + direction: Horizontal, + panes: [(size: "100%", borders: "ALL", pane: Pane(Browser(root_tag: "genre", separator: ";")))], + ), + ), + ( + name: "Playlists", + pane: Split( + direction: Horizontal, + panes: [(size: "100%", borders: "ALL", pane: Pane(Playlists))], + ), + ), + ( + name: "Search", + pane: Split( + direction: Horizontal, + panes: [(size: "100%", borders: "ALL", pane: Pane(Search))], + ), + ), + ], +) diff --git a/.config/rmpc/scripts/statusbar b/.config/rmpc/scripts/statusbar new file mode 100755 index 0000000..6252101 --- /dev/null +++ b/.config/rmpc/scripts/statusbar @@ -0,0 +1,2 @@ +#!/bin/sh +/usr/bin/pkill -RTMIN+11 someblocks diff --git a/.config/rmpc/themes/def.ron b/.config/rmpc/themes/def.ron new file mode 100644 index 0000000..7599fde --- /dev/null +++ b/.config/rmpc/themes/def.ron @@ -0,0 +1,193 @@ +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +#![enable(unwrap_variant_newtypes)] +( + default_album_art_path: None, + show_song_table_header: true, + draw_borders: true, + browser_column_widths: [20, 38, 42], + background_color: None, + modal_backdrop: true, + text_color: "#eceff4", + header_background_color: None, + modal_background_color: None, + preview_label_style: (fg: "#b48ead"), + preview_metadata_group_style: (fg: "#88c0d0"), + tab_bar: ( + enabled: true, + active_style: (fg: "#2e3440", bg: "blue", modifiers: "Bold"), + inactive_style: (fg: "#eceff4", bg: None, modifiers: ""), + ), + highlighted_item_style: (fg: "magenta", modifiers: "Bold"), + current_item_style: (fg: "black", bg: "blue", modifiers: "Bold"), + borders_style: (fg: "blue", modifiers: "Bold"), + highlight_border_style: (fg: "blue"), + symbols: (song: " ", dir: " ", playlist: " ", marker: "* ", ellipsis: "..."), + progress_bar: ( + symbols: ["█", "█", "█", "█", "█"], + track_style: (fg: "dark_gray"), + elapsed_style: (fg: "blue"), + thumb_style: (fg: "blue"), + ), + scrollbar: ( + symbols: ["│", "█", "▲", "▼"], + track_style: (fg: "cyan"), + ends_style: (fg: "blue"), + thumb_style: (fg: "blue"), + ), + song_table_format: [ + ( + prop: (kind: Property(Artist), style: (fg: "blue"), + default: (kind: Text("Unknown"), style: (fg: "blue")) + ), + width: "20%", + ), + ( + prop: (kind: Property(Title), style: (fg: "#eceff4"), + highlighted_item_style: (fg: "#d8dee9", modifiers: "Bold"), + default: (kind: Property(Filename), style: (fg: "#d8dee9"),) + ), + width: "35%", + ), + ( + prop: (kind: Property(Album), style: (fg: "cyan"), + default: (kind: Text("Unknown Album"), style: (fg: "#b48ead")) + ), + width: "30%", + ), + ( + prop: (kind: Property(Duration), style: (fg: "magenta"), + default: (kind: Text("-")) + ), + width: "15%", + alignment: Right, + ), + ], + layout: Split( + direction: Vertical, + panes: [ + ( + size: "3", + pane: Pane(Tabs), + ), + ( + size: "5", + pane: Split( + direction: Horizontal, + panes: [ + ( + size: "100%", + borders: "ALL", + pane: Split( + direction: Vertical, + panes: [ + ( + size: "4", + borders: "NONE", + pane: Pane(Header), + ), + ( + size: "1", + borders: "NONE", + pane: Pane(ProgressBar), + ), + ] + ) + ), + ] + ), + ), + ( + size: "100%", + pane: Split( + direction: Horizontal, + panes: [ + ( + size: "100%", + borders: "NONE", + pane: Pane(TabContent), + ), + ] + ), + ), + ], + ), + header: ( + rows: [ + ( + left: [ + (kind: Text(""), style: (fg: "blue", modifiers: "Bold")), + (kind: Property(Status(StateV2(playing_label: " ", paused_label: " ", stopped_label: " ")))), + (kind: Text(" "), style: (fg: "blue", modifiers: "Bold")), + (kind: Property(Widget(ScanStatus))) + ], + center: [ + (kind: Property(Song(Title)), style: (fg: "#eceff4",modifiers: "Bold"), + default: (kind: Property(Song(Filename)), style: (fg: "#d8dee9",modifiers: "Bold")) + ) + ], + right: [ + (kind: Text(""), style: (fg: "blue", modifiers: "Bold")), + (kind: Property(Status(Volume)), style: (fg: "#eceff4", modifiers: "Bold")), + (kind: Text("%"), style: (fg: "blue", modifiers: "Bold")) + ] + ), + ( + left: [ + (kind: Text("[ "),style: (fg: "blue", modifiers: "Bold")), + (kind: Property(Status(Elapsed)),style: (fg: "#eceff4")), + (kind: Text(" / "),style: (fg: "cyan", modifiers: "Bold")), + (kind: Property(Status(Duration)),style: (fg: "#eceff4")), + (kind: Text(" | "),style: (fg: "cyan")), + (kind: Property(Status(Bitrate)),style: (fg: "#eceff4")), + (kind: Text(" kbps"),style: (fg: "cyan")), + (kind: Text("]"),style: (fg: "blue", modifiers: "Bold")) + ], + center: [ + (kind: Property(Song(Artist)), style: (fg: "white", modifiers: "Bold"), + default: (kind: Text("Unknown Artist"), style: (fg: "white", modifiers: "Bold")) + ), + (kind: Text(" - ")), + (kind: Property(Song(Album)),style: (fg: "white" ), + default: (kind: Text("Unknown Album"), style: (fg: "white", modifiers: "Bold")) + ) + ], + right: [ + (kind: Text("[ "),style: (fg: "blue")), + (kind: Property(Status(RepeatV2( + on_label: "", off_label: "", + on_style: (fg: "#eceff4", modifiers: "Bold"), off_style: (fg: "dark_gray", modifiers: "Bold"))))), + (kind: Text(" | "),style: (fg: "blue")), + (kind: Property(Status(RandomV2( + on_label: "", off_label: "", + on_style: (fg: "#eceff4", modifiers: "Bold"), off_style: (fg: "dark_gray", modifiers: "Bold"))))), + (kind: Text(" | "),style: (fg: "blue")), + (kind: Property(Status(ConsumeV2( + on_label: "", off_label: "", oneshot_label: "", + on_style: (fg: "#eceff4", modifiers: "Bold"), off_style: (fg: "dark_gray", modifiers: "Bold"))))), + (kind: Text(" | "),style: (fg: "blue")), + (kind: Property(Status(SingleV2( + on_label: "", off_label: "", oneshot_label: "", off_oneshot_label: "", + on_style: (fg: "#eceff4", modifiers: "Bold"), off_style: (fg: "dark_gray", modifiers: "Bold"))))), + (kind: Text(" ]"),style: (fg: "blue")), + ] + ), + ], + ), + browser_song_format: [ + ( + kind: Group([ + (kind: Property(Track)), + (kind: Text(" ")), + ]) + ), + ( + kind: Group([ + (kind: Property(Artist)), + (kind: Text(" - ")), + (kind: Property(Title)), + ]), + default: (kind: Property(Filename)) + ), + ], +) |