config.ron (9641B)
1 #![enable(implicit_some)] 2 #![enable(unwrap_newtypes)] 3 #![enable(unwrap_variant_newtypes)] 4 ( 5 address: "127.0.0.1:6600", 6 password: None, 7 theme: Some("custom"), 8 cache_dir: None, 9 lyrics_dir: Some("~/music"), 10 on_song_change: None, 11 volume_step: 5, 12 max_fps: 30, 13 scrolloff: 0, 14 wrap_navigation: false, 15 enable_mouse: true, 16 enable_config_hot_reload: true, 17 status_update_interval_ms: 1000, 18 select_current_song_on_change: false, 19 browser_song_sort: [Disc, Track, Artist, Title], 20 directories_sort: SortFormat(group_directories_first: true, reverse: false), 21 album_art: ( 22 method: Kitty, 23 max_size_px: (width: 1200, height: 1200), 24 disabled_protocols: ["http://", "https://"], 25 vertical_align: Center, 26 horizontal_align: Center, 27 ), 28 keybinds: ( 29 global: { 30 ":": CommandMode, 31 ",": VolumeDown, 32 "s": Stop, 33 ".": VolumeUp, 34 "<Tab>": NextTab, 35 "<S-Tab>": PreviousTab, 36 "q": Quit, 37 ">": NextTrack, 38 "p": TogglePause, 39 "<": PreviousTrack, 40 "f": SeekForward, 41 "r": ToggleRepeat, 42 "z": ToggleRandom, 43 "c": ToggleConsume, 44 "y": ToggleSingle, 45 "b": SeekBack, 46 "~": ShowHelp, 47 "u": Update, 48 "U": Rescan, 49 "I": ShowCurrentSongInfo, 50 "O": ShowOutputs, 51 "P": ShowDecoders, 52 "R": AddRandom, 53 }, 54 navigation: { 55 "k": Up, 56 "j": Down, 57 "h": Left, 58 "l": Right, 59 "<Up>": Up, 60 "<Down>": Down, 61 "<Left>": Left, 62 "<Right>": Right, 63 "<C-k>": PaneUp, 64 "<C-j>": PaneDown, 65 "<C-h>": PaneLeft, 66 "<C-l>": PaneRight, 67 "<C-u>": UpHalf, 68 "N": PreviousResult, 69 "a": Add, 70 "A": AddAll, 71 "n": NextResult, 72 "g": Top, 73 "<Space>": Select, 74 "<C-Space>": InvertSelection, 75 "G": Bottom, 76 "<CR>": Confirm, 77 "i": FocusInput, 78 "J": MoveDown, 79 "<C-d>": DownHalf, 80 "/": EnterSearch, 81 "<C-c>": Close, 82 "<Esc>": Close, 83 "K": MoveUp, 84 "D": Delete, 85 }, 86 queue: { 87 "D": DeleteAll, 88 "<CR>": Play, 89 "<C-s>": Save, 90 "a": AddToPlaylist, 91 "d": Delete, 92 "i": ShowInfo, 93 "C": JumpToCurrent, 94 }, 95 ), 96 search: ( 97 case_sensitive: false, 98 mode: Regex, 99 tags: [ 100 (value: "any", label: "Any Tag"), 101 (value: "title", label: "Title"), 102 (value: "artist", label: "Artist"), 103 (value: "album", label: "Album"), 104 ], 105 ), 106 artists: ( 107 album_display_mode: SplitByDate, 108 album_sort_by: Date, 109 ), 110 tabs: [ 111 ( 112 name: "Queue", 113 pane: Split( 114 direction: Horizontal, 115 panes: [ 116 ( 117 size: "40%", 118 pane: Split( 119 direction: Vertical, 120 panes: [ 121 ( 122 size: "70%", 123 pane: Pane(AlbumArt), 124 ), 125 ( 126 size: "30%", 127 borders: "TOP", 128 pane: Pane(Lyrics), 129 ), 130 ( 131 size: "2", 132 borders: "TOP", 133 pane: Pane(Property( 134 content: [ 135 (kind: Property(Song(Artist))), 136 (kind: Text(" - ")), 137 (kind: Property(Song(Title))), 138 ], 139 )), 140 ), 141 ( 142 size: "1", 143 pane: Split( 144 direction: Horizontal, 145 panes: [ 146 ( 147 size: "100%", 148 pane: Pane(ProgressBar) 149 ), 150 ( 151 size: "6", 152 pane: Pane(Property( 153 content: [ 154 (kind: Text("[")), 155 (kind: Property(Status(RepeatV2( 156 on_label: "r", 157 off_label: " ", 158 )))), 159 (kind: Property(Status(RandomV2( 160 on_label: "z", 161 off_label: " ", 162 )))), 163 (kind: Property(Status(SingleV2( 164 oneshot_label: "S", 165 on_label: "s", 166 off_label: " ", 167 )))), 168 (kind: Property(Status(ConsumeV2( 169 oneshot_label: "C", 170 on_label: "c", 171 off_label: " ", 172 )))), 173 (kind: Text("]")), 174 ], 175 align: Right, 176 )), 177 ), 178 ], 179 ) 180 ), 181 ], 182 ), 183 ), 184 ( 185 size: "60%", 186 pane: Pane(Queue), 187 ) 188 ] 189 ), 190 ), 191 ( 192 name: "Search", 193 pane: Split( 194 direction: Horizontal, 195 panes: [ 196 ( 197 size: "40%", 198 pane: Split( 199 direction: Vertical, 200 panes: [ 201 ( 202 size: "70%", 203 pane: Pane(AlbumArt), 204 ), 205 ( 206 size: "30%", 207 borders: "TOP", 208 pane: Pane(Lyrics), 209 ), 210 ( 211 size: "2", 212 borders: "TOP", 213 pane: Pane(Property( 214 content: [ 215 (kind: Property(Song(Artist))), 216 (kind: Text(" - ")), 217 (kind: Property(Song(Title))), 218 ], 219 )), 220 ), 221 ( 222 size: "1", 223 pane: Split( 224 direction: Horizontal, 225 panes: [ 226 ( 227 size: "100%", 228 pane: Pane(ProgressBar) 229 ), 230 ( 231 size: "6", 232 pane: Pane(Property( 233 content: [ 234 (kind: Text("[")), 235 (kind: Property(Status(RepeatV2( 236 on_label: "r", 237 off_label: " ", 238 )))), 239 (kind: Property(Status(RandomV2( 240 on_label: "z", 241 off_label: " ", 242 )))), 243 (kind: Property(Status(SingleV2( 244 oneshot_label: "S", 245 on_label: "s", 246 off_label: " ", 247 )))), 248 (kind: Property(Status(ConsumeV2( 249 oneshot_label: "C", 250 on_label: "c", 251 off_label: " ", 252 )))), 253 (kind: Text("]")), 254 ], 255 align: Right, 256 )), 257 ), 258 ], 259 ) 260 ), 261 ], 262 ), 263 ), 264 ( 265 size: "60%", 266 pane: Pane(Search), 267 ) 268 ] 269 ), 270 ), 271 ( 272 name: "Browse", 273 pane: Split( 274 direction: Horizontal, 275 panes: [ 276 ( 277 size: "40%", 278 pane: Split( 279 direction: Vertical, 280 panes: [ 281 ( 282 size: "70%", 283 pane: Pane(AlbumArt), 284 ), 285 ( 286 size: "30%", 287 borders: "TOP", 288 pane: Pane(Lyrics), 289 ), 290 ( 291 size: "2", 292 borders: "TOP", 293 pane: Pane(Property( 294 content: [ 295 (kind: Property(Song(Artist))), 296 (kind: Text(" - ")), 297 (kind: Property(Song(Title))), 298 ], 299 )), 300 ), 301 ( 302 size: "1", 303 pane: Split( 304 direction: Horizontal, 305 panes: [ 306 ( 307 size: "100%", 308 pane: Pane(ProgressBar) 309 ), 310 ( 311 size: "6", 312 pane: Pane(Property( 313 content: [ 314 (kind: Text("[")), 315 (kind: Property(Status(RepeatV2( 316 on_label: "r", 317 off_label: " ", 318 )))), 319 (kind: Property(Status(RandomV2( 320 on_label: "z", 321 off_label: " ", 322 )))), 323 (kind: Property(Status(SingleV2( 324 oneshot_label: "S", 325 on_label: "s", 326 off_label: " ", 327 )))), 328 (kind: Property(Status(ConsumeV2( 329 oneshot_label: "C", 330 on_label: "c", 331 off_label: " ", 332 )))), 333 (kind: Text("]")), 334 ], 335 align: Right, 336 )), 337 ), 338 ], 339 ) 340 ), 341 ], 342 ), 343 ), 344 ( 345 size: "60%", 346 pane: Pane(Directories), 347 ) 348 ] 349 ), 350 ), 351 ( 352 name: "Playlists", 353 pane: Split( 354 direction: Horizontal, 355 panes: [ 356 ( 357 size: "40%", 358 pane: Split( 359 direction: Vertical, 360 panes: [ 361 ( 362 size: "70%", 363 pane: Pane(AlbumArt), 364 ), 365 ( 366 size: "30%", 367 borders: "TOP", 368 pane: Pane(Lyrics), 369 ), 370 ( 371 size: "2", 372 borders: "TOP", 373 pane: Pane(Property( 374 content: [ 375 (kind: Property(Song(Artist))), 376 (kind: Text(" - ")), 377 (kind: Property(Song(Title))), 378 ], 379 )), 380 ), 381 ( 382 size: "1", 383 pane: Split( 384 direction: Horizontal, 385 panes: [ 386 ( 387 size: "100%", 388 pane: Pane(ProgressBar) 389 ), 390 ( 391 size: "6", 392 pane: Pane(Property( 393 content: [ 394 (kind: Text("[")), 395 (kind: Property(Status(RepeatV2( 396 on_label: "r", 397 off_label: " ", 398 )))), 399 (kind: Property(Status(RandomV2( 400 on_label: "z", 401 off_label: " ", 402 )))), 403 (kind: Property(Status(SingleV2( 404 oneshot_label: "S", 405 on_label: "s", 406 off_label: " ", 407 )))), 408 (kind: Property(Status(ConsumeV2( 409 oneshot_label: "C", 410 on_label: "c", 411 off_label: " ", 412 )))), 413 (kind: Text("]")), 414 ], 415 align: Right, 416 )), 417 ), 418 ], 419 ) 420 ), 421 ], 422 ), 423 ), 424 ( 425 size: "60%", 426 pane: Pane(Playlists), 427 ) 428 ] 429 ), 430 ), 431 ], 432 ) 433