A minimalist, high-performance TUI browser for MPD using fzf and ueberzugpp.
- Cover Art: Renders album art using Ueberzug++.
- Layouts: Supports "Right" or "Bottom" preview modes (centered).
- Search: Uses
fzffor instant library filtering. - Selection: Select multiple tracks or albums with TAB to queue them.
- Sync: Auto-selects the currently playing song on startup & follow-focus song.
- UI: Simple ANSI colors with grey dividers for a cleaner look.
| Dependency | Role |
|---|---|
mpd |
Music daemon — manages playback and your library |
mpc |
CLI client used internally to control MPD |
fzf |
Fuzzy finder powering the search and browser UI |
ueberzugpp |
Renders album art in the terminal |
ffmpeg |
Extracts embedded cover art from audio files |
| Nerd Fonts | Required for icons in the UI |
- Clone the repository:
git clone https://github.com/user/fmpc && cd fmpc- Run the install script:
bash install.shNote: A custom install location can be passed as an argument:
bash install.sh /custom/path. For contributors,--devinstalls via symlinks so edits to the repo take effect immediately.
- Configure fmpc by creating
~/.config/fmpc/config:
# vim: set ft=bash:
export MUSIC_DIR="/path/to/your/music" # defaults to your mpd.conf music_directory
export PREVIEW_POS="right" # right|bottom
export PREVIEW_SIZE="50%"Note: Never edit the scripts directly for configuration — use the config file above so your settings are preserved across updates and reinstalls.
fmpc| Key | Action |
|---|---|
| Enter | Play highlighted song |
| Tab | Select/Deselect multiple songs |
| Ctrl-x | Play all selected songs |
| Ctrl-f | Search for currently playing song |
| Ctrl-p | Toggle play/pause |
| Ctrl-n | Next track |
| Ctrl-b | Previous track |
| Ctrl-u | Update MPD database |
| Esc | Clear search / reset view |
| Ctrl-q | Quit |