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

dotfiles

My personal dotfiles
git clone git://pollux.codes/git/dotfiles.git
Log | Files | Refs | LICENSE

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