You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
3.0 KiB
Plaintext

# Basic Settings
set preview
set icons
set cleaner '~/.config/lf/cleaner'
set previewer '~/.config/lf/scope'
set cursorpreviewfmt "\033[7m"
set shell fish
### Commands ###
cmd edit-config ${{
$EDITOR ~/.config/lf/lfrc
lf -remote "send $id source ~/.config/lf/lfrc"
}}
cmd open ${{
switch $(file --mime-type "$(readlink -f $f)" -b)
case image/vnd.djvu application/pdf application/octet-stream application/postscript
setsid -f zathura $fx >/dev/null 2>&1
case "text/*" application/json inode/x-empty application/x-subrip
$EDITOR $fx
case image/x-xcf
setsid -f gimp $f >/dev/null 2>&1
case image/svg+xml
display -- $f
#case "image/*"
# rotdir $f | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|avif\|tif\|ico\)\(_large\)*$" |
# setsid -f nsxiv -aio 2>/dev/null |
# while read -r file [ -z "$file" ] && continue; lf -remote "send select \"$file\""; lf -remote "send toggle"; end
case "audio/*" video/x-ms-asf
mpv --volume=45 --audio-display=no $f
case "video/*"
setsid -f mpv --volume=45 $f -quiet >/dev/null 2>&1
case application/pdf application/vnd.djvu "application/epub*"
setsid -f zathura $fx >/dev/null 2>&1
case application/pgp-encrypted
$EDITOR $fx
case application/vnd.openxmlformats-officedocument.wordprocessingml.document application/vnd.oasis.opendocument.text application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/octet-stream application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.spreadsheet-template application/vnd.openxmlformats-officedocument.presentationml.presentation application/vnd.oasis.opendocument.presentation-template application/vnd.oasis.opendocument.presentation application/vnd.ms-powerpoint application/vnd.oasis.opendocument.graphics application/vnd.oasis.opendocument.graphics-template application/vnd.oasis.opendocument.formula application/vnd.oasis.opendocument.database
setsid -f libreoffice $fx >/dev/null 2>&1
case "*"
for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done
end
}}
cmd bulkrename ${{
tmpfile_old="$(mktemp)"
tmpfile_new="$(mktemp)"
[ -n "$fs" ] && fs=$(basename -a $fs) || fs=$(ls)
echo "$fs" > "$tmpfile_old"
echo "$fs" > "$tmpfile_new"
$EDITOR "$tmpfile_new"
[ "$(wc -l < "$tmpfile_old")" -eq "$(wc -l < "$tmpfile_new")" ] || { rm -f "$tmpfile_old" "$tmpfile_new"; exit 1; }
paste "$tmpfile_old" "$tmpfile_new" | while IFS="$(printf '\t')" read -r src dst
do
[ "$src" = "$dst" ] || [ -e "$dst" ] || mv -- "$src" "$dst"
done
rm -f "$tmpfile_old" "$tmpfile_new"
lf -remote "send $id unselect"
}}
cmd move-parent &{{
dironly="setlocal '$(dirname "$PWD")' dironly"
lf -remote "send $id :updir; $dironly true; $1; $dironly false; open"
}}
### Mappings and stuff ###
map C edit-config
map J move-parent down
map K move-parent up
map o open;
map <c-s> set hidden!
map B bulkrename