diff options
Diffstat (limited to '.config/lf/lfrc')
| -rw-r--r-- | .config/lf/lfrc | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/.config/lf/lfrc b/.config/lf/lfrc new file mode 100644 index 0000000..e7b2c17 --- /dev/null +++ b/.config/lf/lfrc @@ -0,0 +1,119 @@ +# Basic vars +set sixel true +set shellopts '-eu' +set ifs "\n" +set scrolloff 10 +set icons +set hidden true +set drawbox true +set period 1 +set previewer '~/.config/lf/scope' +set autoquit true + +# cmds/functions +cmd open ${{ + case $(file --mime-type "$(readlink -f $f)" -b) in + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) localc $fx ;; + image/vnd.djvu|application/pdf|application/octet-stream|application/postscript) setsid -f zathura $fx >/dev/null 2>&1 ;; + text/*|application/json|inode/x-empty) $EDITOR $fx;; + text/*|application/x-subrip) $EDITOR $fx;; + image/x-xcf) setsid -f gimp $f >/dev/null 2>&1 ;; + image/svg+xml) display -- $f ;; + image/*) rotdir $f | grep -i "\.\(png\|jpg\|jxl\|jpeg\|gif\|webp\|avif\|tif\|ico\)\(_large\)*$" | + setsid -f nsxiv -aio 2>/dev/null | while read -r file; do + [ -z "$file" ] && continue + lf -remote "send select \"$file\"" + lf -remote "send toggle" + done & + ;; + audio/*) mpv --audio-display=no $f ;; + video/*) setsid -f mpv $f -quiet >/dev/null 2>&1 ;; + application/pdf|application/vnd*|application/epub*) setsid -f zathura $fx >/dev/null 2>&1 ;; + application/pgp-encrypted) $EDITOR $fx ;; + *) for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done;; + esac +}} + +cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')" + +cmd extract ${{ + clear; tput cup $(($(tput lines)/3)); tput bold + set -f + printf "%s\n\t" "$fx" + printf "extract?[y/N]" + read ans + [ $ans = "y" ] && ext $fx +}} + +cmd delete ${{ + clear; tput cup $(($(tput lines)/3)); tput bold + set -f + printf "%s\n\t" "$fx" + printf "delete?[y/N]" + read ans + [ $ans = "y" ] && rm -rf -- $fx +}} + +cmd moveto ${{ + clear; tput cup $(($(tput lines)/3)); tput bold + set -f + clear; echo "Move to where?" + dest=$(cat ~/.config/lf/mvdirs | fzf ) + for x in $fx; do + eval mv -iv \"$x\" \"$dest\" + done && + notify-send "🚚 File(s) moved." "File(s) moved to $dest." +}} + +cmd genwall "$1" + +# Bindings +map <c-f> $lf -remote "send $id select \"$(fzf)\"" +map D delete +map p paste +map dd cut +map M moveto +map yy copy +map H top +map E extract +map <c-n> push :mkdir<space> +map <c-r> reload +map <c-s> set hidden! +map <enter> shell +map x $$f +map X !$f +map o &mimeopen $f +map O $mimeopen --ask $f + +map A :rename; cmd-end # at the very end +map c push A<c-u> # new rename +map I :rename; cmd-home # at the very beginning +map i :rename # before extension +map a :rename; cmd-right # after extension +map br $vimv +map bg $genwall $f + +map <c-e> down +map <c-y> up +map V push :!nvim<space> + +map W $setsid -f $TERMINAL >/dev/null 2>&1 + +map Y $printf "%s" "$fx" | xclip -selection clipboard +map T $nsxiv -t "$(pwd)" # opens thumbnail mode +map <c-l> unselect + +# movement +map gd cd ~/dox/ +map gD cd ~/dl/ +map gp cd ~/pix +map gc cd ~/.config +map gC cd ~/.cache +map gr cd ~/code/repos +map gv cd ~/vids/ +map gm cd ~/media/movies +map gM cd ~/media +map gn cd ~/music +map gb cd ~/.local/bin +map gt cd /tmp +map gs cd ~/.local/share |
