From 92e2da70f0d8231fedced88074ef707b359e8222 Mon Sep 17 00:00:00 2001 From: krolxon Date: Sun, 14 Sep 2025 17:46:37 +0530 Subject: remove yazi, use lf --- .config/lf/cleaner | 4 ++ .config/lf/icons | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++ .config/lf/lfrc | 119 +++++++++++++++++++++++++++++++++++++++ .config/lf/mvdirs | 17 ++++++ .config/lf/scope | 9 +++ 5 files changed, 309 insertions(+) create mode 100755 .config/lf/cleaner create mode 100644 .config/lf/icons create mode 100644 .config/lf/lfrc create mode 100644 .config/lf/mvdirs create mode 100755 .config/lf/scope (limited to '.config/lf') diff --git a/.config/lf/cleaner b/.config/lf/cleaner new file mode 100755 index 0000000..a184d84 --- /dev/null +++ b/.config/lf/cleaner @@ -0,0 +1,4 @@ +#!/bin/sh +if [ -n "$FIFO_UEBERZUG" ]; then + printf '{"action": "remove", "identifier": "PREVIEW"}\n' > "$FIFO_UEBERZUG" +fi diff --git a/.config/lf/icons b/.config/lf/icons new file mode 100644 index 0000000..87d924b --- /dev/null +++ b/.config/lf/icons @@ -0,0 +1,160 @@ +di  +fi  +ln  +or  +ex  +*.vimrc  +*.viminfo  +*.gitignore  +*.c  +*.cc  +*.clj  +*.coffee  +*.cpp  +*.css  +*.d  +*.dart  +*.erl  +*.exs  +*.fs  +*.go  +*.h  +*.hh  +*.hpp  +*.hs  +*.html  +*.java  +*.jl  +*.js  +*.json  +*.lua  +*.md  +*.php  +*.pl  +*.pro  +*.py  +*.rb  +*.rs  +*.scala  +*.ts  +*.vim  +*.cmd  +*.ps1  +*.sh  +*.bash  +*.zsh  +*.fish  +*.tar  +*.tgz  +*.arc  +*.arj  +*.taz  +*.lha  +*.lz4  +*.lzh  +*.lzma  +*.tlz  +*.txz  +*.tzo  +*.t7z  +*.zip  +*.z  +*.dz  +*.gz  +*.cz  +*.lrz  +*.lz  +*.lzo  +*.xz  +*.zst  +*.tzst  +*.bz2  +*.bz  +*.tbz  +*.tbz2  +*.tz  +*.deb  +*.rpm  +*.jar  +*.war  +*.ear  +*.sar  +*.rar  +*.alz  +*.ace  +*.zoo  +*.cpio  +*.7z  +*.rz  +*.cab  +*.wim  +*.swm  +*.dwm  +*.esd  +*.jpg  +*.jpeg  +*.mjpg  +*.mjpeg  +*.gif  +*.bmp  +*.pbm  +*.pgm  +*.ppm  +*.tga  +*.xbm  +*.xpm  +*.tif  +*.tiff  +*.png  +*.svg  +*.svgz  +*.mng  +*.pcx  +*.mov  +*.mpg  +*.mpeg  +*.m2v  +*.mkv  +*.webm  +*.ogm  +*.mp4  +*.m4v  +*.mp4v  +*.vob  +*.qt  +*.nuv  +*.wmv  +*.asf  +*.rm  +*.rmvb  +*.flc  +*.avi  +*.fli  +*.flv  +*.gl  +*.dl  +*.xcf  +*.xwd  +*.yuv  +*.cgm  +*.emf  +*.ogv  +*.ogx  +*.aac  +*.au  +*.flac  +*.m4a  +*.mid  +*.midi  +*.mka  +*.mp3  +*.mpc  +*.ogg  +*.ra  +*.wav  +*.oga  +*.opus  +*.spx  +*.xspf  +*.pdf  +*.nix  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 $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 push :mkdir +map reload +map set hidden! +map 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 # 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 down +map up +map V push :!nvim + +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 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 diff --git a/.config/lf/mvdirs b/.config/lf/mvdirs new file mode 100644 index 0000000..5edb30c --- /dev/null +++ b/.config/lf/mvdirs @@ -0,0 +1,17 @@ +$HOME/.cache +$HOME/.config +$HOME +$HOME/.local/bin +$HOME/.local/src +$HOME/.local/share +$HOME/dl +$HOME/dox +$HOME/music +$HOME/movies +$HOME/vids +$HOME/pix +$HOME/pix/ss +$HOME/pix/wallpapers/ +$HOME/dev/ +$HOME/dev/ +/tmp diff --git a/.config/lf/scope b/.config/lf/scope new file mode 100755 index 0000000..11e54e1 --- /dev/null +++ b/.config/lf/scope @@ -0,0 +1,9 @@ +#!/bin/sh +case "$(file -Lb --mime-type -- "$1")" in + image/*) + chafa -f sixel -s "$2x$3" --animate off --polite on -t 1 --bg black "$1" + ;; + text/*) + bat "$1" + ;; +esac -- cgit v1.2.3