# Luke's lf settings # Basic vars set shell sh set previewer ~/.config/lf/scope set shellopts '-eu' set ifs "\n" set scrolloff 10 set color256 set icons # Enable icons. Requires nerd fonts and LF_ICONS variable. # cmds/functions cmd open ${{ case $(file --mime-type $f -b) in text/troff) man ./ $f;; text/*) $EDITOR $fx;; image/x-xcf|image/svg+xml) setsid gimp $f >/dev/null 2>&1 & ;; image/*) rotdir $f | setsid sxiv -aio 2>/dev/null | lf-select & ;; audio/*) mpv --input-ipc-server=/tmp/mpvsoc$(date +%%s) $f ;; video/*) setsid mpv --input-ipc-server=/tmp/mpvsoc$(date +%%s) $f -quiet >/dev/null 2>&1 & ;; application/pdf) setsid zathura $fx >/dev/null 2>&1 & ;; *) for f in $fx; do setsid $OPENER $f >/dev/null 2>&1 & done;; esac }} cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1 cmd delete ${{ set -f printf "%s\n\t" "$fx" printf "delete?[y/N]" read ans [ $ans = "y" ] && rm -rf $fx }} cmd moveto ${{ set -f clear; echo "Move to where?" dest="$(cut -d' ' -f2- ~/.config/directories | fzf)" && eval mv -iv $fx $dest && notify-send "🚚 File(s) moved." "File(s) moved to $dest." }} cmd copyto ${{ set -f clear; echo "Copy to where?" dest="$(cut -d' ' -f2- ~/.config/directories | fzf)" && eval cp -ivr $fx $dest && notify-send "📋 File(s) copied." "File(s) copies to $dest." }} # Bindings map c $lf -remote "send $id cd $(cut -d' ' -f2 ~/.config/directories | fzf)" map $lf -remote "send $id select '$(fzf)'" map J $lf -remote "send $id cd $(cut -d' ' -f2 ~/.config/directories | fzf)" map gh map g top map D delete map C copyto map M moveto map a push %mkdir map r push :rename map R $lf -remote "send $id push :rename$f" map reload map shell map x $$f map X !$f map o &mimeopen $f map O $mimeopen --ask $f