summaryrefslogtreecommitdiff
path: root/ar/.config/rmpc/config.ron
blob: 9e4ffe5347d61aff88e0c6aa520b0e9bf84198c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
    address: "/tmp/mpd_socket",
    password: None,
    theme: "~/.config/rmpc/themes/catppuccin-mocha.ron",
    cache_dir: "~/.cache/rmpc",
    lyrics_dir: "~/.local/share/lyrics",
    on_song_change: ["~/.config/rmpc/scripts/on_song_change"],
    on_resize: ["~/.config/rmpc/scripts/onresize"],
    extra_yt_dlp_args: ["--audio-quality", "0"],
    volume_step: 5,
    max_fps: 30,
    scrolloff: 9,
    wrap_navigation: false,
    enable_mouse: true,
    scroll_amount: 1,
    enable_config_hot_reload: true,
    enable_lyrics_hot_reload: true,
    status_update_interval_ms: 1000,
    rewind_to_start_sec: None,
    keep_state_on_song_change: true,
    reflect_changes_to_playlist: false,
    select_current_song_on_change: false,
    ignore_leading_the: false,
    browser_song_sort: [Disc, Track, Artist, Title],
    directories_sort: SortFormat(group_by_type: true, reverse: false),
    auto_open_downloads: true,
    album_art: (
        method: Auto,
        max_size_px: (width: 1200, height: 1200),
        disabled_protocols: ["http://", "https://"],
        vertical_align: Center,
        horizontal_align: Center,
    ),
    keybinds: (
        global: {
            "q":          Quit,
            "?":          ShowHelp,
            ":":          CommandMode,
            "oI":         ShowCurrentSongInfo,
            "oo":         ShowOutputs,
            "op":         ShowDecoders,
            "od":         ShowDownloads,
            "oP":         Partition(),
            "z":          ToggleRepeat,
            "x":          ToggleRandom,
            "c":          ToggleConsume,
            "v":          ToggleSingle,
            "p":          TogglePause,
            "s":          Stop,
            ">":          NextTrack,
            "<":          PreviousTrack,
            "f":          SeekForward,
            "b":          SeekBack,
            ".":          VolumeUp,
            ",":          VolumeDown,
            "<Tab>":      NextTab,
            "gt":         NextTab,
            "<S-Tab>":    PreviousTab,
            "gT":         PreviousTab,
            "1":          SwitchToTab("Queue"),
            "2":          SwitchToTab("Directories"),
            "3":          SwitchToTab("Artists"),
            "4":          SwitchToTab("Album Artists"),
            "5":          SwitchToTab("Albums"),
            "6":          SwitchToTab("Playlists"),
            "7":          SwitchToTab("Search"),
            "<C-u>":      Update,
            "<C-U>":      Rescan,
            "R":          AddRandom,
        },
        navigation: {
            "<C-c>":      Close,
            "<Esc>":      Close,
            "<CR>":       Confirm,
            "k":          Up,
            "<Up>":       Up,
            "j":          Down,
            "<Down>":     Down,
            "h":          Left,
            "<Left>":     Left,
            "l":          Right,
            "<Right>":    Right,
            "<C-w>k":     PaneUp,
            "<C-Up>":     PaneUp,
            "<C-w>j":     PaneDown,
            "<C-Down>":   PaneDown,
            "<C-w>h":     PaneLeft,
            "<C-Left>":   PaneLeft,
            "<C-w>l":     PaneRight,
            "<C-Right>":  PaneRight,
            "K":          MoveUp,
            "J":          MoveDown,
            "<C-u>":      UpHalf,
            "<C-d>":      DownHalf,
            "<C-b>":      PageUp,
            "<PageUp>":   PageUp,
            "<C-f>":      PageDown,
            "<PageDown>": PageDown,
            "gg":         Top,
            "G":          Bottom,
            "<Space>":    Select,
            "<C-Space>":  InvertSelection,
            "/":          EnterSearch,
            "n":          NextResult,
            "N":          PreviousResult,
            "a":          Add,
            "A":          AddAll,
            "D":          Delete,
            "<C-r>":      Rename,
            "i":          FocusInput,
            "oi":         ShowInfo,
            "<C-z>":      ContextMenu(),
            "<C-s>s":     Save(kind: Modal(all: false, duplicates_strategy: Ask)),
            "<C-s>a":     Save(kind: Modal(all: true, duplicates_strategy: Ask)),
            "r":          Rate(),
        },
        queue: {
            "d":          Delete,
            "D":          DeleteAll,
            "<CR>":       Play,
            "C":          JumpToCurrent,
            "X":          Shuffle,
        },
    ),
    search: (
        case_sensitive: false,
        ignore_diacritics: false,
        search_button: 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"),
            (value: "filename",    label: "Filename"),
            (value: "genre",       label: "Genre"),
        ],
    ),
    artists: (
        album_display_mode: SplitByDate,
        album_sort_by: Date,
        album_date_tags: [Date],
    ),
    tabs: [
        (
            name: "Queue",
            pane: Split(
                direction: Horizontal,
                panes: [
                    (
                        size: "65%",
                        pane: Split(
                            direction: Vertical,
                            panes: [
                                (
                                    size: "3",
                                    borders: "ALL",
                                    border_symbols: Inherited(parent: Rounded, bottom_left: "├", bottom_right: "┤",),
                                    pane: Split(
                                        direction: Horizontal,
                                        panes: [
                                            (
                                                size: "1",
                                                pane: Pane(Empty())
                                            ),
                                            (
                                                size: "100%",
                                                pane: Pane(QueueHeader())
                                            ),
                                        ]
                                    )
                                ),
                                (
                                    size: "100%",
                                    borders: "LEFT | RIGHT | BOTTOM",
                                    border_symbols: Rounded,
                                    pane: Split(
                                        direction: Horizontal,
                                        panes: [
                                            (
                                                size: "1",
                                                pane: Pane(Empty())
                                            ),
                                            (
                                                size: "100%",
                                                pane: Pane(Queue)
                                            ),
                                        ]
                                    )
                                ),
                            ],
                        )
                    ),
                    (
                        size: "35%",
                        pane: Split(
                            direction: Vertical,
                            panes: [
                                (
                                    size: "100%",
                                    borders: "LEFT | RIGHT | TOP",
                                    border_symbols: Rounded,
                                    pane: Pane(AlbumArt)
                                ),
                                (
                                    size: "7",
                                    borders: "ALL",
                                    border_symbols: Inherited(parent: Rounded, top_left: "├", top_right: "┤",),
                                    border_title: [(kind: Text(" Lyrics "))],
                                    border_title_alignment: Right,
                                    pane: Pane(Lyrics)
                                ),
                            ],
                        ),
                    ),
                ],
            ),
        ),
        (
            name: "Directories",
            borders: "ALL",
            border_symbols: Rounded,
            pane: Split(
                size: "100%",
                direction: Vertical,
                panes: [(pane: Pane(Directories), size: "100%", borders: "ALL", border_symbols: Rounded)],
            )
        ),
        (
            name: "Artists",
            borders: "ALL",
            border_symbols: Rounded,
            pane: Split(
                size: "100%",
                direction: Vertical,
                panes: [(pane: Pane(Artists), size: "100%", borders: "ALL", border_symbols: Rounded)],
            )
        ),
        (
            name: "Album Artists",
            borders: "ALL",
            border_symbols: Rounded,
            pane: Split(
                size: "100%",
                direction: Vertical,
                panes: [(pane: Pane(AlbumArtists), size: "100%", borders: "ALL", border_symbols: Rounded)],
            )
        ),
        (
            name: "Albums",
            borders: "ALL",
            border_symbols: Rounded,
            pane: Split(
                size: "100%",
                direction: Vertical,
                panes: [(pane: Pane(Albums), size: "100%", borders: "ALL", border_symbols: Rounded)],
            )
        ),
        (
            name: "Playlists",
            borders: "ALL",
            border_symbols: Rounded,
            pane: Split(
                size: "100%",
                direction: Vertical,
                panes: [(pane: Pane(Playlists), size: "100%", borders: "ALL", border_symbols: Rounded)],
            )
        ),
        (
            name: "Search",
            borders: "ALL",
            border_symbols: Rounded,
            pane: Split(
                size: "100%",
                direction: Vertical,
                panes: [(pane: Pane(Search), size: "100%", borders: "ALL", border_symbols: Rounded)],
            )
        ),
    ],
)