| 1 | # rmptui configuration |
| 2 | # |
| 3 | # Every option is shown with its default value. Settings you leave out keep |
| 4 | # their defaults, so you can trim this file down to the parts you change. |
| 5 | # Restart rmptui to apply changes. |
| 6 | |
| 7 | [mpd] |
| 8 | # Hostname, IP address, or the path of MPD's Unix socket (starting with `/` |
| 9 | # or `~`). Overridden by the MPD_HOST environment variable, which also accepts |
| 10 | # `password@host`. |
| 11 | host = "127.0.0.1" |
| 12 | # Overridden by MPD_PORT. Ignored for Unix sockets. |
| 13 | port = 6600 |
| 14 | # Set this only if your MPD server requires a password. It is stored in plain |
| 15 | # text; rmptui creates this file readable only by you. |
| 16 | password = "" |
| 17 | # The music directory on this machine, required by the tag editor and for |
| 18 | # `.lrc` files stored next to songs. Leave empty to ask MPD, which only answers |
| 19 | # over a Unix socket. |
| 20 | music_directory = "" |
| 21 | |
| 22 | [playback] |
| 23 | # Seconds moved by seek_forward / seek_backward. |
| 24 | seek_seconds = 5 |
| 25 | # Percent changed by volume_up / volume_down. |
| 26 | volume_step = 5 |
| 27 | |
| 28 | [ui] |
| 29 | # Screen shown on startup: queue, browser, playlists, library, tag_editor, |
| 30 | # visualizer or lyrics. |
| 31 | startup_screen = "queue" |
| 32 | # Enable mouse support (click to select, wheel to scroll, click the progress |
| 33 | # bar to seek, click a tab to switch). |
| 34 | mouse = true |
| 35 | # Show the lyrics pane next to the queue on startup (toggle with `L`). |
| 36 | lyrics_pane = false |
| 37 | # Width of the lyrics pane in percent of the screen. |
| 38 | lyrics_pane_width = 40 |
| 39 | # Seconds a status message stays visible. |
| 40 | message_timeout = 4 |
| 41 | # Queue columns. `field` is one of artist, album_artist, title, album, track, |
| 42 | # disc, date, genre, duration or file; `width` is a relative weight. |
| 43 | queue_columns = [ |
| 44 | { field = "artist", width = 25 }, |
| 45 | { field = "track", width = 5 }, |
| 46 | { field = "title", width = 35 }, |
| 47 | { field = "album", width = 30 }, |
| 48 | { field = "duration", width = 7 }, |
| 49 | ] |
| 50 | |
| 51 | [theme] |
| 52 | # Colors are names (black, red, green, yellow, blue, magenta, cyan, gray, |
| 53 | # darkgray, lightred, …, white, reset), 256-color indices ("208") or hex |
| 54 | # values ("#c694ff"). |
| 55 | accent = "magenta" |
| 56 | text = "reset" |
| 57 | dim = "darkgray" |
| 58 | selection_fg = "black" |
| 59 | selection_bg = "magenta" |
| 60 | playing = "green" |
| 61 | marked = "yellow" |
| 62 | directory = "blue" |
| 63 | border = "darkgray" |
| 64 | error = "red" |
| 65 | # Visualizer bar gradient, from the bottom of the screen to the top. |
| 66 | visualizer = ["blue", "cyan", "green", "yellow", "red"] |
| 67 | |
| 68 | [lyrics] |
| 69 | # Look up lyrics on https://lrclib.net when no local `.lrc` file exists. |
| 70 | online = true |
| 71 | # Keep fetched lyrics in $XDG_CACHE_HOME/rmptui/lyrics (~/.cache by default). |
| 72 | cache = true |
| 73 | lrclib_url = "https://lrclib.net" |
| 74 | |
| 75 | [visualizer] |
| 76 | # Path of an MPD fifo output. Add this to mpd.conf: |
| 77 | # |
| 78 | # audio_output { |
| 79 | # type "fifo" |
| 80 | # name "Visualizer feed" |
| 81 | # path "/tmp/mpd.fifo" |
| 82 | # format "44100:16:2" |
| 83 | # } |
| 84 | fifo = "/tmp/mpd.fifo" |
| 85 | # Must match the `format` of the fifo output. |
| 86 | sample_rate = 44100 |
| 87 | channels = 2 |
| 88 | framerate = 60 |
| 89 | bar_width = 2 |
| 90 | bar_gap = 1 |
| 91 | min_frequency = 40 |
| 92 | max_frequency = 16000 |
| 93 | # How fast bars fall, in screen heights per second. |
| 94 | falloff = 1.5 |
| 95 | |
| 96 | # Key bindings |
| 97 | # |
| 98 | # Each table is a context. Lookups start with the context of the focused |
| 99 | # popup or screen, then `navigation`, then `global`, so a key bound in a |
| 100 | # screen context shadows the same key in `global` on that screen. |
| 101 | # |
| 102 | # Each action takes a list of keys. A key is a character or one of Enter, |
| 103 | # Esc, Tab, Backspace, Delete, Insert, Space, Up, Down, Left, Right, Home, |
| 104 | # End, PageUp, PageDown and F1–F24, optionally prefixed by Ctrl+, Alt+ or |
| 105 | # Shift+ (e.g. "Ctrl+x", "Alt+Enter", "Shift+Tab"). Set an action to [] to |
| 106 | # unbind it; a key may only be used once per context. |
| 107 | |
| 108 | [keys.global] |
| 109 | quit = ["q", "Ctrl+c"] |
| 110 | help = ["?", "F1"] |
| 111 | toggle_pause = ["p"] |
| 112 | pause = ["s"] |
| 113 | stop = ["x"] |
| 114 | next_track = [">"] |
| 115 | previous_track = ["<"] |
| 116 | seek_forward = ["f"] |
| 117 | seek_backward = ["b"] |
| 118 | volume_up = ["+", "="] |
| 119 | volume_down = ["-"] |
| 120 | toggle_mute = ["m"] |
| 121 | toggle_repeat = ["r"] |
| 122 | toggle_random = ["z"] |
| 123 | toggle_single = ["y"] |
| 124 | toggle_consume = ["R"] |
| 125 | update_database = ["U"] |
| 126 | next_screen = ["Tab"] |
| 127 | previous_screen = ["Shift+Tab"] |
| 128 | screen_queue = ["1"] |
| 129 | screen_browser = ["2"] |
| 130 | screen_playlists = ["3"] |
| 131 | screen_library = ["4"] |
| 132 | screen_tag_editor = ["5"] |
| 133 | screen_visualizer = ["6"] |
| 134 | screen_lyrics = ["7"] |
| 135 | |
| 136 | [keys.navigation] |
| 137 | up = ["k", "Up"] |
| 138 | down = ["j", "Down"] |
| 139 | top = ["g", "Home"] |
| 140 | bottom = ["G", "End"] |
| 141 | page_up = ["PageUp"] |
| 142 | page_down = ["PageDown"] |
| 143 | half_page_up = ["Ctrl+u"] |
| 144 | half_page_down = ["Ctrl+d"] |
| 145 | left = ["h", "Left", "Backspace"] |
| 146 | right = ["l", "Right"] |
| 147 | activate = ["Enter"] |
| 148 | toggle_mark = ["v", "Insert"] |
| 149 | clear_marks = ["V"] |
| 150 | search = ["/"] |
| 151 | search_next = ["n"] |
| 152 | search_previous = ["N"] |
| 153 | add_to_queue = ["Space"] |
| 154 | add_to_playlist = ["a"] |
| 155 | |
| 156 | [keys.queue] |
| 157 | delete = ["d", "Delete"] |
| 158 | move_item_up = ["K"] |
| 159 | move_item_down = ["J"] |
| 160 | clear_queue = ["c"] |
| 161 | shuffle_queue = ["Z"] |
| 162 | save_queue = ["S"] |
| 163 | jump_to_current = ["o"] |
| 164 | toggle_lyrics_pane = ["L"] |
| 165 | |
| 166 | [keys.browser] |
| 167 | |
| 168 | [keys.playlists] |
| 169 | delete = ["d", "Delete"] |
| 170 | move_item_up = ["K"] |
| 171 | move_item_down = ["J"] |
| 172 | delete_playlist = ["D"] |
| 173 | rename_playlist = ["R"] |
| 174 | |
| 175 | [keys.library] |
| 176 | toggle_artist_tag = ["t"] |
| 177 | |
| 178 | [keys.tag_editor] |
| 179 | save_tags = ["w"] |
| 180 | revert_tags = ["u"] |
| 181 | |
| 182 | [keys.visualizer] |
| 183 | |
| 184 | [keys.lyrics] |
| 185 | reload_lyrics = ["F5"] |
| 186 | |
| 187 | [keys.popup] |
| 188 | close = ["q", "Esc"] |
| 189 | |
| 190 | [keys.input] |
| 191 | submit = ["Enter"] |
| 192 | cancel = ["Esc"] |
| 193 | backspace = ["Backspace"] |
| 194 | delete_char = ["Delete"] |
| 195 | delete_word = ["Ctrl+w"] |
| 196 | cursor_left = ["Left"] |
| 197 | cursor_right = ["Right"] |
| 198 | cursor_home = ["Home", "Ctrl+a"] |
| 199 | cursor_end = ["End", "Ctrl+e"] |