summaryrefslogtreecommitdiffstats
path: root/rmpc-config.nix
blob: 0c2ac778850f83083132979a02d612cba2270734 (plain) (blame)
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
{ config, pkgs, ... }:
{
home.file = {
  ".config/rmpc/config.ron".text = ''
    		#![enable(implicit_some)]
    		#![enable(unwrap_newtypes)]
    		#![enable(unwrap_variant_newtypes)]
    		(
    		    address: "127.0.0.1:6600",
    		    password: None,
    		    theme: None,
    		    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,
    		    rewind_to_start_sec: None,
    		    reflect_changes_to_playlist: false,
    		    select_current_song_on_change: false,
    		    browser_song_sort: [Disc, Track, Artist, Title],
    		    directories_sort: SortFormat(group_by_type: true, reverse: false),
    		    album_art: (
    			method: Auto,
    			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,
    			    "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,
    			    "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,
    			    "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,
    			    "B":         ShowInfo,
    			},
    			queue: {
    			    "D":       DeleteAll,
    			    "<CR>":    Play,
    			    "<C-s>":   Save,
    			    "a":       AddToPlaylist,
    			    "d":       Delete,
    			    "C":       JumpToCurrent,
    			    "X":       Shuffle,
    			},
    		    ),
    		    search: (
    			case_sensitive: false,
    			ignore_diacritics: 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: "60%", pane: Pane(Queue)), (size: "40%", pane: Pane(AlbumArt))],
    			),
    		    ),
    		    (
    			name: "Directories",
    			pane: Pane(Directories),
    		    ),
    		    (
    			name: "Artists",
    			pane: Pane(Artists),
    		    ),
    		    (
    			name: "Album Artists",
    			pane: Pane(AlbumArtists),
    		    ),
    		    (
    			name: "Albums",
    			pane: Pane(Albums),
    		    ),
    		    (
    			name: "Playlists",
    			pane: Pane(Playlists),
    		    ),
    		    (
    			name: "Search",
    			pane: Pane(Search),
    		    ),
    			],
    		)
    	'';
};
}