swaydots

my dotfiles
git clone https://git.awy.one/swaydots.git
Log | Files | Refs | README | LICENSE

commit 453ba6381bd05dca844452d40667e0091dac0b54
parent 26403d14c8230fbdf0c583b22aabab71fa8a711d
Author: awy <awy@awy.one>
Date:   Sat, 26 Jul 2025 00:33:02 +0300

indent

Diffstat:
M.config/rmpc/config.ron | 408+++++++++++++++++++++++++++++++++++++++----------------------------------------
M.config/rmpc/themes/def.ron | 440++++++++++++++++++++++++++++++++++++++++----------------------------------------
2 files changed, 422 insertions(+), 426 deletions(-)

diff --git a/.config/rmpc/config.ron b/.config/rmpc/config.ron @@ -2,221 +2,217 @@ #![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, + 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, - }, + "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, + "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: Horizontal, - panes: [ + direction: Vertical, + 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), - ), - ], + size: "3", + pane: Pane(Lyrics), + ), + ( + size: "100%", + pane: Pane(AlbumArt), + ) + ], ), - ), - ( - 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, + ), + ( + 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: Horizontal, - panes: [ - ( - size: "40%", - pane: Pane(Queue), - ), - ( + 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(Directories), - ), - ( - size: "50%", - pane: Split( - direction: Horizontal, - panes: [ - // ( - // size: "40%", - // pane: Pane(AlbumArt), - // ), - ( - size: "60%", - pane: Split( - direction: Vertical, - panes: [ - ( - size: "50%", - pane: Pane(Albums), - ), - ( - size: "50%", - pane: Pane(Artists), - ), - ], - ), - ), - ], - ), - ), - ], + direction: Vertical, + panes: [ + ( + size: "50%", + pane: Pane(Albums), + ), + ( + size: "50%", + pane: Pane(Artists), + ), + ], ), - ), - ], + ), + ], + ), + ), + ], ), - ), - ], + ), + ], + ), + ), + ], ) diff --git a/.config/rmpc/themes/def.ron b/.config/rmpc/themes/def.ron @@ -2,237 +2,237 @@ #![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: [ + 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: "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: "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: "3", - borders: "ALL", - pane: Pane(Tabs), + 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: [ ( - size: "100%", - borders: "ALL", - background_color: "red", - pane: Pane(TabContent), + 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: "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, - )), - ), - ] - ), + 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(" ")), + ]) ), - symbols: ( - song: "🎵", - dir: "📁", - marker: "\u{e0b0}", - ellipsis: "…" + ( + kind: Group([ + (kind: Property(Artist)), + (kind: Text(" - ")), + (kind: Property(Title)), + ]), + default: (kind: Property(Filename)) ), - progress_bar: ( - symbols: ["█", "\u{e0b0}", "█"], - track_style: (fg: "#1e2030"), - elapsed_style: (fg: "blue"), - thumb_style: (fg: "blue", bg: "#1e2030"), + ], + 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" ), - scrollbar: ( - symbols: ["│", "█", "▲", "▼"], - track_style: (), - ends_style: (), - thumb_style: (fg: "blue"), + ( + prop: (kind: Property(Title), default: (kind: Text("Unknown"))), + width: "35%", ), - 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: (), + ( + prop: (kind: Property(Album), default: (kind: Text("Unknown Album"))), + width: "45%", ), - 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: []), + ( + prop: (kind: Property(Duration),default: (kind: Text("-"))), + width: "5", + alignment: Right, + label: "Len" + ), + ], + header: (rows: []), )