diff --git a/.config/lf/lfrc b/.config/lf/lfrc index 6e2bce56..1ed34ff1 100644 --- a/.config/lf/lfrc +++ b/.config/lf/lfrc @@ -2,6 +2,7 @@ set ratios 1:2:4 set shellopts '-eu' set ifs "\n" +set findlen 2 set scrolloff 10 set icons set wrapscroll @@ -11,35 +12,41 @@ set cleaner ~/.config/lf/clean set promptfmt "\033[34;1m%u\033[36m@\033[34m%h \033[35m[\033[0;1m%d\033[33m%f\033[35m]\033[0m" cmd open ${{ - case $(xdg-mime query filetype "$1") in - */x-bzip-compressed-tar|*/x-compressed-tar|*/x-7z-compressed|*/vnd.rar|*/x-tar|*/zip|*/x-java-archive|*/x-xz|*/x-cd-image) - mntdir="$f-archivemount" - [ ! -d "$mntdir" ] && { + case "$(xdg-mime query filetype "$f")" in + */x-bzip-compressed-tar|*/x-compressed-tar|*/x-7z-compressed|*/vnd.rar|*/x-tar|*/zip|*/x-java-archive|*/x-xz|*/x-xz-compressed-tar|*/x-cd-image) + mntdir="$f-archivemount" + [ ! -d "$mntdir" ] && { mkdir "$mntdir" archivemount "$f" "$mntdir" echo "$mntdir" >> "/tmp/__lf_archivemount_$id" - } - lf -remote "send $id cd \"$mntdir\"" - lf -remote "send $id reload" - ;; + } + lf -remote "send $id cd \"$mntdir\"" + lf -remote "send $id reload" + ;; + audio/*) mpv --audio-display=no $f ;; + video/*) setsid -f mpv $f -quiet >/dev/null 2>&1 ;; + image/x-xcf) setsid -f gimp $f >/dev/null 2>&1 ;; + image/*) rotdir $f | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|tif\|ico\)\(_large\)*$" | + setsid -f sxiv -aio 2>/dev/null | while read -r file; do + [ -z "$file" ] && continue + lf -remote "send select \"$file\"" + lf -remote "send toggle" + done & + ;; + */vnd.djvu|*/pdf|*/postscript|*/epub*) setsid -f zathura $fx >/dev/null 2>&1 ;; + officedocument.wordprocessingml.document|application/vnd.oasis.opendocument.text) setsid -f lowriter $fx >/dev/null 2>&1 ;; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) localc $fx ;; + application/vnd.openxmlformats-officedocument.wordprocessingml.document|application/vnd.oasis.opendocument.text) setsid -f lowriter $fx >/dev/null 2>&1 ;; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet|application/octet-stream|application/vnd.oasis.opendocument.spreadsheet|application/vnd.oasis.opendocument.spreadsheet-template) setsid -f localc $fx >/dev/null 2>&1 ;; + application/vnd.openxmlformats-officedocument.presentationml.presentation|application/vnd.oasis.opendocument.presentation-template|application/vnd.oasis.opendocument.presentation|application/vnd.ms-powerpoint) setsid -f loimpress $fx >/dev/null 2>&1 ;; + application/vnd.oasis.opendocument.graphics|application/vnd.oasis.opendocument.graphics-template) setsid -f lodraw $fx >/dev/null 2>&1 ;; + application/vnd.oasis.opendocument.formula) setsid -f lomath $fx >/dev/null 2>&1 ;; + application/vnd.oasis.opendocument.database) setsid -f lobase $fx >/dev/null 2>&1 ;; esac - case $(file -bL --mime-type) in - */vnd.openxmlformats-officedocument*) localc $fx ;; - */pdf|application/vnd*|application/epub*) setsid -f zathura $fx >/dev/null 2>&1 ;; + case $(file --mime-type "$(readlink -f $f)" -b) in text/*|application/json|inode/x-empty) $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\|jpeg\|gif\|webp\|tif\|ico\)\(_large\)*$" | - setsid -f sxiv -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/pgp-encrypted) $EDITOR $fx ;; - *) for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done;; + application/pgp-encrypted) $EDITOR $fx ;; + # *) for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done;; esac }} diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 8638ceff..ea7ab35a 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -68,10 +68,14 @@ lfcd () { fi if [ -f "$tmp" ]; then dir="$(cat "$tmp")" - command rm -f "$tmp" - [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir" + rm -f "$tmp" + if [ -d "$dir" ]; then + if [ "$dir" != "$(pwd)" ]; then + cd "$dir" + fi + fi fi - tput cuu1;tput el + # tput cuu1;tput el } _lfcd () {