#!/usr/bin/env bash # Populated by fuz-cache script through xprofile at startup CACHE_DIR="/tmp/fuz_cache" # Define color escape sequences c_blue='' c_gray='' c_norm='' h_padding=$(printf '%*s' 23 ' ') h_gap=" ${c_gray}::" # Define the header using the escape sequences HEADER="${h_padding}\ ${c_blue}Prefix${c_gray}:${c_norm}Alt${h_gap}\ ${c_blue}1${c_gray}:${c_norm}All/Folders/Git${h_gap}\ ${c_blue}2${c_gray}:${c_norm}Documents${h_gap}\ ${c_blue}3${c_gray}:${c_norm}Images${h_gap}\ ${c_blue}4${c_gray}:${c_norm}Videos" # --bind "alt-1:transform:[[ ! \$FZF_PROMPT =~ All ]] && # echo 'change-prompt( All  )+reload(cat $CACHE_DIR/all)' || # echo 'change-prompt( Folders  )+reload(cat $CACHE_DIR/folders)'" \ fzf_main_func() { cat $CACHE_DIR/all | fzf --ansi --prompt " All  " \ --bind "alt-1:transform:( ([[ \$FZF_PROMPT =~ All ]] && echo 'change-prompt( Folders  )+reload(cat $CACHE_DIR/folders)') || ([[ \$FZF_PROMPT =~ Folders ]] && echo 'change-prompt( Git  )+reload(cat $CACHE_DIR/git)') || echo 'change-prompt( All  )+reload(cat $CACHE_DIR/all)')" \ --bind "alt-2:change-prompt( Documents  )+reload(cat $CACHE_DIR/documents)" \ --bind "alt-3:change-prompt( Images  )+reload(cat $CACHE_DIR/images)" \ --bind "alt-4:change-prompt( Videos  )+reload(cat $CACHE_DIR/videos)" \ --header "$HEADER" \ --height=100% --pointer=" " --ellipsis= --header-first --scheme=path --algo=v2 --color="16" \ --preview-window "bottom,60%,border-top" --border=none --margin=5%,10%,5%,10% --info=inline-right \ --preview "fuz-preview {}" } echo -ne '\e[3 q' # Use underline shape cursor on startup. dwmc setlayoutex 2 selection=$(fzf_main_func) if [ -n "$selection" ]; then fuz-opener "$selection" fi # Reset layout to tile before exiting dwmc setlayoutex 0