aboutsummaryrefslogtreecommitdiff
path: root/.config/lf
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2025-09-14 17:46:37 +0530
committerkrolxon <krolyxon@tutanota.com>2025-09-14 17:46:37 +0530
commit92e2da70f0d8231fedced88074ef707b359e8222 (patch)
tree4959f6404a37dab29e8c237e995872ccf374cc13 /.config/lf
parenta8246b3bdefb6bf96b6cac7c7c4ef2a3b9f2383f (diff)
remove yazi, use lf
Diffstat (limited to '.config/lf')
-rwxr-xr-x.config/lf/cleaner4
-rw-r--r--.config/lf/icons160
-rw-r--r--.config/lf/lfrc119
-rw-r--r--.config/lf/mvdirs17
-rwxr-xr-x.config/lf/scope9
5 files changed, 309 insertions, 0 deletions
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 <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
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