diff options
-rw-r--r-- | .config/lf/lfrc | 98 | ||||
-rwxr-xr-x | .config/lf/previewer | 11 |
2 files changed, 109 insertions, 0 deletions
diff --git a/.config/lf/lfrc b/.config/lf/lfrc new file mode 100644 index 0000000..4c3a2f2 --- /dev/null +++ b/.config/lf/lfrc @@ -0,0 +1,98 @@ +# shell and scripts +set shell sh +set shellopts '-eu' +set ifs "\n" +set previewer '~/.config/lf/previewer' + +# appearance +set scrolloff 5 +set cursorpreviewfmt "\033[7;2m" # 'dim' cursor for preview pane +set hidden true + +# other behavior +set ignorecase true + +# common directories +map gc cd ~/.config +map gb cd ~/.local/bin +map gS cd ~/.local/share +map gD cd ~/documents +map gd cd ~/downloads +map gM cd ~/mail +map gm cd ~/music +map gp cd ~/pictures +map gs cd ~/pictures/screenshots +map gw cd ~/pictures/wallpapers +map gr cd ~/repos +map gv cd ~/videos +map gR cd ~/videos/recordings + +# custom functions +cmd cdtemp &{{ + tmp=$(mktemp -d) || exit 1 + lf -remote "send $id cd '$tmp'" +}} +cmd unar ${{ + set -f + case $f in + *.tar.bz | *.tar.bz2 | *.tbz | *.tbz2) tar xjvf $f ;; + *.tar.gz | *.tgz) tar xzvf $f ;; + *.tar.xz | *.txz) tar xJvf $f ;; + *.zip) unzip $f ;; + *.rar) unrar x $f ;; + *.7z) 7z x $f ;; + esac +}} +cmd mktgz %{{ + set -f + printf "mktgz: " + read -r path + mkdir "$path" + cp -r $fx "$path" + tar czf "$path.tar.gz" "$path" + rm -rf "$path" +}} +cmd mkzip %{{ + set -f + printf "mkzip: " + read -r path + mkdir "$path" + cp -r $fx "$path" + zip -r "$path.zip" "$path" + rm -rf "$path" +}} +cmd touch %{{ + printf "touch: " + read -r path + touch "$path" +}} +cmd mkdir %{{ + printf "mkdir: " + read -r path + mkdir -p "$path" +}} +cmd chmod %{{ + set -f + printf "chmod: " + read -r mod + chmod "$mod" $fx + lf -remote "send $id reload" +}} +cmd nsxiv &{{ + set -f + nsxiv -r $fx +}} + +# custom maps +map <enter> shell +map ` !true +map D delete +map . set hidden! +map T cdtemp +map au unar +map ag mktgz +map az mkzip +map af touch +map ad mkdir +map ac chmod +map ai nsxiv diff --git a/.config/lf/previewer b/.config/lf/previewer new file mode 100755 index 0000000..0a26b63 --- /dev/null +++ b/.config/lf/previewer @@ -0,0 +1,11 @@ +#!/bin/sh + +set -eu + +case "$(file -bL --mime-type "$1")" in + application/zip) zipinfo "$1" ;; + audio/* | image/* | video/*) mediainfo "$1" ;; + text/html) lynx -dump "$1" ;; + text/*) cat "$1" ;; + *) file "$1" ;; +esac |