All Projects → seebye → Fmui

seebye / Fmui

Licence: gpl-3.0
fzf mpd user interface

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Fmui

Sad
CLI search and replace | Space Age seD
Stars: ✭ 350 (+276.34%)
Mutual labels:  fzf, terminal, tui
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
So
A terminal interface for Stack Overflow
Stars: ✭ 694 (+646.24%)
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
Crossterm
Cross platform terminal library rust
Stars: ✭ 1,023 (+1000%)
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
Pingg
Ping latency graphing CLI
Stars: ✭ 33 (-64.52%)
Mutual labels:  terminal, tui

FMUI

fzf mpd user interface
Warning: FMUI will add every song to your queue by default.

Overview

Unofficial aur package

fmui-git

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

  1. Install:
    • Überzug
    • ffmpeg or avconv (should also include ffprobe or avprobe)
    • file likely already installed
  2. 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:
             if (strncmp(ttyname(0), "/dev/tty", 8) == 0 || strcmp(ttyname(0),
                   "/dev/console") == 0) inAtty = 1;
    
    needs to be replaced with
              if (ttyname(0) != NULL &&
                      (strncmp(ttyname(0), "/dev/tty", 8) == 0 ||
                       strcmp(ttyname(0), "/dev/console") == 0)) {
                  inAtty = 1;
              }
    

Screenshots

fzf song list fzf song list with cover song info screen cava

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].