A minimalist, high-performance TUI browser for MPD using fzf and ueberzugpp.
- Cover Art Rendering: Supports high-performance image rendering (including Sixel out of the box).
- Flexible Layouts: Supports "Right" or "Bottom" preview modes with custom centering.
- Instant Filtering: Uses
fzffor super fast library searching. - Batch Selection: Select multiple tracks or folders with
TABto queue them. - Synchronization: Auto-selects the currently playing song on startup & supports follow-focus mode.
- Minimalist UI: Simple ANSI colors with grey dividers for a cleaner terminal aesthetic.
| 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 (supports sixel, kitty, iterm2, etc.) |
ffmpeg |
Extracts embedded cover art and queries dimensions (ffprobe) |
| Nerd Fonts | Required for icons in the UI |
- Clone the repository:
git clone https://github.com/ahloiscreamo/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%"
# --- Optional Advanced Image Tuning ---
# Image rendering protocol (sixel, kitty, iterm2, x11, wayland, chafa)
export UB_OUTPUT="sixel" # defaults to sixel
# Custom offsets for bottom layout (PREVIEW_POS="bottom")
# export BOTTOM_OFFSET_Y="3" # push image down from top (rows)
# export BOTTOM_H_ADJUST="3" # shrink image height to fit (rows)
# export BOTTOM_MANUAL_ADJUST="2" # nudge right to center the image (columns)
# Custom offsets for right layout (PREVIEW_POS="right")
# export RIGHT_OFFSET_Y="6" # push image down from top (rows)
# export RIGHT_H_ADJUST="6" # shrink image height to fit (rows)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 |