home | blog | art | now | git gpg | email | rss

dotfiles

My personal dotfiles
git clone git://pollux.codes/git/dotfiles.git
Log | Files | Refs
commit 36870c3d944f3c7218f99d17849040572b580faf
parent b981914c790684b4a3599a860f2c1a7e0306f05b
Author: Pollux <pollux@pollux.codes>
Date:   Mon, 26 May 2025 21:07:07 -0500

rmpc: add rmpc configuration

Signed-off-by: Pollux <pollux@pollux.codes>

Diffstat:
A.config/rmpc/config.ron | 376+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/rmpc/themes/custom.ron | 76++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 452 insertions(+), 0 deletions(-)

diff --git a/.config/rmpc/config.ron b/.config/rmpc/config.ron @@ -0,0 +1,376 @@ +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +#![enable(unwrap_variant_newtypes)] +( + address: "127.0.0.1:6600", + password: None, + theme: Some("custom"), + cache_dir: None, + on_song_change: None, + volume_step: 5, + max_fps: 30, + scrolloff: 0, + wrap_navigation: false, + enable_mouse: true, + enable_config_hot_reload: true, + status_update_interval_ms: 1000, + select_current_song_on_change: false, + browser_song_sort: [Disc, Track, Artist, Title], + directories_sort: SortFormat(group_directories_first: true, reverse: false), + album_art: ( + method: Kitty, + max_size_px: (width: 1200, height: 1200), + disabled_protocols: ["http://", "https://"], + vertical_align: Center, + horizontal_align: Center, + ), + keybinds: ( + global: { + ":": CommandMode, + ",": VolumeDown, + "s": Stop, + ".": VolumeUp, + "<Tab>": NextTab, + "<S-Tab>": PreviousTab, + "q": Quit, + ">": NextTrack, + "p": TogglePause, + "<": PreviousTrack, + "f": SeekForward, + "r": ToggleRepeat, + "z": ToggleRandom, + "c": ToggleConsume, + "y": ToggleSingle, + "b": SeekBack, + "~": ShowHelp, + "u": Update, + "U": Rescan, + "I": ShowCurrentSongInfo, + "O": ShowOutputs, + "P": ShowDecoders, + "R": AddRandom, + }, + 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, + "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: Regex, + tags: [ + (value: "any", label: "Any Tag"), + (value: "title", label: "Title"), + (value: "artist", label: "Artist"), + (value: "album", label: "Album"), + ], + ), + artists: ( + album_display_mode: SplitByDate, + album_sort_by: Date, + ), + tabs: [ + ( + name: "Queue", + pane: Split( + direction: Vertical, + panes: [ + ( + size: "100%", + pane: Split( + direction: Horizontal, + panes: [ + ( + size: "30%", + pane: Pane(AlbumArt), + ), + ( + size: "70%", + pane: Pane(Queue), + ), + ], + ), + ), + ( + size: "2", + borders: "TOP", + pane: Split( + direction: Horizontal, + panes: [ + ( + size: "100%", + pane: Pane(Property( + content: [ + (kind: Property(Song(Artist))), + (kind: Text(" - ")), + (kind: Property(Song(Title))), + ], + )), + ), + ( + size: "10", + pane: Pane(Property( + content: [ + (kind: Text("[")), + (kind: Property(Status(RepeatV2( + on_label: "r", + off_label: "", + )))), + (kind: Property(Status(RandomV2( + on_label: "z", + off_label: "", + )))), + (kind: Property(Status(SingleV2( + oneshot_label: "S", + on_label: "s", + off_label: "", + )))), + (kind: Property(Status(ConsumeV2( + oneshot_label: "C", + on_label: "c", + off_label: "", + )))), + (kind: Text("]")), + ], + align: Right, + )), + ), + ], + ), + ), + ( + size: "1", + pane: Pane(ProgressBar), + ), + ], + ), + ), + ( + name: "Search", + pane: Split( + direction: Vertical, + panes: [ + ( + size: "100%", + pane: Pane(Search), + ), + ( + size: "2", + borders: "TOP", + pane: Split( + direction: Horizontal, + panes: [ + ( + size: "100%", + pane: Pane(Property( + content: [ + (kind: Property(Song(Artist))), + (kind: Text(" - ")), + (kind: Property(Song(Title))), + ], + )), + ), + ( + size: "10", + pane: Pane(Property( + content: [ + (kind: Text("[")), + (kind: Property(Status(RepeatV2( + on_label: "r", + off_label: "", + )))), + (kind: Property(Status(RandomV2( + on_label: "z", + off_label: "", + )))), + (kind: Property(Status(SingleV2( + oneshot_label: "S", + on_label: "s", + off_label: "", + )))), + (kind: Property(Status(ConsumeV2( + oneshot_label: "C", + on_label: "c", + off_label: "", + )))), + (kind: Text("]")), + ], + align: Right, + )), + ), + ], + ), + ), + ( + size: "1", + pane: Pane(ProgressBar), + ), + ], + ), + ), + ( + name: "Browse", + pane: Split( + direction: Vertical, + panes: [ + ( + size: "100%", + pane: Pane(Directories), + ), + ( + size: "2", + borders: "TOP", + pane: Split( + direction: Horizontal, + panes: [ + ( + size: "100%", + pane: Pane(Property( + content: [ + (kind: Property(Song(Artist))), + (kind: Text(" - ")), + (kind: Property(Song(Title))), + ], + )), + ), + ( + size: "10", + pane: Pane(Property( + content: [ + (kind: Text("[")), + (kind: Property(Status(RepeatV2( + on_label: "r", + off_label: "", + )))), + (kind: Property(Status(RandomV2( + on_label: "z", + off_label: "", + )))), + (kind: Property(Status(SingleV2( + oneshot_label: "S", + on_label: "s", + off_label: "", + )))), + (kind: Property(Status(ConsumeV2( + oneshot_label: "C", + on_label: "c", + off_label: "", + )))), + (kind: Text("]")), + ], + align: Right, + )), + ), + ], + ), + ), + ( + size: "1", + pane: Pane(ProgressBar), + ), + ], + ), + ), + ( + name: "Playlists", + pane: Split( + direction: Vertical, + panes: [ + ( + size: "100%", + pane: Pane(Playlists), + ), + ( + size: "2", + borders: "TOP", + pane: Split( + direction: Horizontal, + panes: [ + ( + size: "100%", + pane: Pane(Property( + content: [ + (kind: Property(Song(Artist))), + (kind: Text(" - ")), + (kind: Property(Song(Title))), + ], + )), + ), + ( + size: "10", + pane: Pane(Property( + content: [ + (kind: Text("[")), + (kind: Property(Status(RepeatV2( + on_label: "r", + off_label: "", + )))), + (kind: Property(Status(RandomV2( + on_label: "z", + off_label: "", + )))), + (kind: Property(Status(SingleV2( + oneshot_label: "S", + on_label: "s", + off_label: "", + )))), + (kind: Property(Status(ConsumeV2( + oneshot_label: "C", + on_label: "c", + off_label: "", + )))), + (kind: Text("!")), + ], + align: Right, + )), + ), + ], + ), + ), + ( + size: "1", + pane: Pane(ProgressBar), + ), + ], + ), + ), + ], +) + diff --git a/.config/rmpc/themes/custom.ron b/.config/rmpc/themes/custom.ron @@ -0,0 +1,76 @@ +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +#![enable(unwrap_variant_newtypes)] +( + default_album_art_path: None, + show_song_table_header: false, + draw_borders: true, + browser_column_widths: [20, 38, 42], + modal_backdrop: false, + preview_label_style: (), + preview_metadata_group_style: (modifiers: "Bold"), + tab_bar: ( + enabled: true, + active_style: (fg: "black", bg: "white"), + inactive_style: (), + ), + current_item_style: (bg: "blue"), + highlighted_item_style: (fg: "green", modifiers: "Bold"), + borders_style: (), + highlight_border_style: (), + symbols: (song: "\u{1f39c}", dir: "\u{1f5bf}", marker: "*", ellipsis: "..."), + progress_bar: ( + symbols: ["━", "●", "━"], + track_style: (fg: "black"), + elapsed_style: (fg: "white"), + thumb_style: (fg: "blue"), + ), + scrollbar: (symbols: ["", "", "", ""]), + song_table_format: [ + ( + prop: (kind: Property(Artist), + default: (kind: Text("Unknown")), + style: (fg: "blue") + ), + width: "50%", + alignment: Right, + ), + ( + prop: (kind: Text("-")), + width: "1", + ), + ( + prop: (kind: Property(Title), + default: (kind: Text("Unknown")) + ), + width: "50%", + ), + ], + layout: Split( + direction: Vertical, + panes: [ + ( + pane: Pane(Tabs), + size: "3", + ), + ( + pane: Pane(TabContent), + size: "100%", + ), + ], + ), + header: ( + rows: [], + ), + browser_song_format: [ + ( + kind: Group([ + (kind: Property(Artist)), + (kind: Text(" - ")), + (kind: Property(Title)), + ]), + default: (kind: Property(Filename)) + ), + ], +) +