seebye / Fmui
Licence: gpl-3.0
fzf mpd user interface
Stars: ✭ 93
Programming Languages
shell
77523 projects
Projects that are alternatives of or similar to Fmui
Dotfiles
Configurations for the tools I use every day
Stars: ✭ 898 (+865.59%)
Mutual labels: fzf, terminal
Vim Quickui
The missing UI extensions for Vim 8.2 (and NeoVim 0.4) !! 😎
Stars: ✭ 714 (+667.74%)
Mutual labels: terminal, tui
Tui
A text-based user interface library for golang based on termbox
Stars: ✭ 12 (-87.1%)
Mutual labels: terminal, tui
Htop
htop is an interactive text-mode process viewer for Unix systems. It aims to be a better 'top'.
Stars: ✭ 5,626 (+5949.46%)
Mutual labels: terminal, tui
C Sharp Console Gui Framework
A GUI framework for C# console applications
Stars: ✭ 838 (+801.08%)
Mutual labels: terminal, tui
Sauron Native
Truly cross platform, truly native. multiple backend GUI for rust
Stars: ✭ 587 (+531.18%)
Mutual labels: terminal, tui
Tygit
A basic terminal interface for git, written on Node.js [Project not maintained]
Stars: ✭ 36 (-61.29%)
Mutual labels: terminal, tui
Dotfiles
My dotfiles 🚀. Includes configs for neovim, tmux, zsh, alacritty and more.
Stars: ✭ 47 (-49.46%)
Mutual labels: fzf, terminal
Tml
🌈💻🎨 A tiny markup language for terminal output. Makes formatting output in CLI apps easier!
Stars: ✭ 634 (+581.72%)
Mutual labels: terminal, tui
Ltui
🍖 A cross-platform terminal ui library based on Lua
Stars: ✭ 624 (+570.97%)
Mutual labels: terminal, tui
Ueberzug
ueberzug is a command line util which allows to display images in combination with X11
Stars: ✭ 711 (+664.52%)
Mutual labels: terminal, tui
Tvision
A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.
Stars: ✭ 612 (+558.06%)
Mutual labels: terminal, tui
Devdash
🍱 Highly Configurable Terminal Dashboard for Developers and Creators
Stars: ✭ 939 (+909.68%)
Mutual labels: terminal, tui
Brick
A declarative Unix terminal UI programming library written in Haskell
Stars: ✭ 1,070 (+1050.54%)
Mutual labels: terminal, tui
Termenv
Advanced ANSI style & color support for your terminal applications
Stars: ✭ 555 (+496.77%)
Mutual labels: terminal, tui
Clui
Command Line User Interface (Console UI inspired by TurboVision)
Stars: ✭ 561 (+503.23%)
Mutual labels: terminal, tui
FMUI
fzf mpd user interface
Warning: FMUI will add every song to your queue by default.
Overview
Unofficial aur package
Required uncommon programs
- toilet
- fzf
- mpc
Config
General configuration
The config is a bash script called "config" located in "~/.config/fmui/".
Variable name | Type | Description | Default value |
---|---|---|---|
fill_queue | Boolean | Add every song to the queue on starting FMUI | true |
clear_queue | Boolean | Clear queue on starting FMUI | false |
fzf_options | Array | fzf additional command line arguments | '--cycle', '-i' |
song_format | String | Default song format used by the song info screen, see man mpc | '[[[%artist% - ]%title%]|[%file%]]' |
song_list_format | String | Song format used for fzf, see man mpc | '%time% [[[%artist% - ]%title%]|[%file%]]' |
preview | String | fzf preview command | 'mpc | tail -n 1' |
prompt | String | fzf prompt | '\xF0\x9D\x84\x9E ' |
seek_step | String | Seek time | '00:00:10' |
visualizer | String | Visualizer program, e.g. cava, vis | 'cava || vis' |
mod | String | Mod key | 'ctrl' |
cover_max_width | Integer | Max width of the extracted image which is used as cover image | 500 |
cover_max_columns | Integer | Max amount of columns used to display the cover image | 30 |
margin | String | fzf margin | 0,0,0,0 or 0,0,0,cover_max_columns+1 if cover enabled |
preview_box_size | Integer | size of fzf preview box | 1 or 20 if cover enabled |
DIR_MUSIC | String | The path to your music collection |
Cover images
- Install:
- Überzug
- ffmpeg or avconv (should also include ffprobe or avprobe)
- file likely already installed
- Assign the path of your music collection to DIR_MUSIC in your config.
Keybindings
Keybindings formatted with fzfs syntax are also configured with a bash script called "keybindings".
Commands starting with 'execute-silent' bound to a single char are useable in subscreens.
Default keybindings
Key | Action | Subscreens |
---|---|---|
q | Quit fzf | |
u | Update fzf preview window | |
v | Start visualizer | |
i | Show song info screen | |
j | Go down | |
k | Go up | |
down | Go down | |
up | Go up | |
return | Play choice | |
mod-r | Toggle repeat | |
mod-s | Shuffle | |
mod-d | Update mpd database, restart | |
left | Seek backwards | |
right | Seek forwards | |
h | Seek backwards | ✓ |
l | Seek forwards | ✓ |
p | Toggle play | ✓ |
c | Toggle consume | ✓ |
s | Toggle single song | ✓ |
r | Toggle random | ✓ |
< | Play previous song | ✓ |
> | Play next song | ✓ |
Keybindings example
readonly VOLUME_STEP=2
# format? see man fzf
readonly ACTION_VOLUME_UP="execute-silent:amixer set Master ${VOLUME_STEP}%+ unmute"
readonly ACTION_VOLUME_DOWN="execute-silent:amixer set Master ${VOLUME_STEP}%- unmute"
key_bindings+=(
[+]="$ACTION_VOLUME_UP"
[=]="$ACTION_VOLUME_UP"
[-]="$ACTION_VOLUME_DOWN"
)
Visualizer
- vis: Works out of the box
-
cava:
needs to be replaced withif (strncmp(ttyname(0), "/dev/tty", 8) == 0 || strcmp(ttyname(0), "/dev/console") == 0) inAtty = 1;
if (ttyname(0) != NULL && (strncmp(ttyname(0), "/dev/tty", 8) == 0 || strcmp(ttyname(0), "/dev/console") == 0)) { inAtty = 1; }
Screenshots
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].