set previewer ~/.config/lf/preview # Basic Settings set preview true set hidden true set color256 true set drawbox true set icons true set ignorecase true # Custom Functions cmd open ${{ case $(file --mime-type "$f" -bL) in text/*|application/json) editright "$f";; video/*|image/*/application/pdf) xdg-open "$f";; *) xdg-open "$f" ;; esac }} cmd mkdir ${{ printf "Directory Name: " read ans mkdir -p $ans }} cmd mkfile ${{ printf "File Name: " read ans %editright $ans }} cmd chmod ${{ printf "Mode Bits: " read ans for file in "$fx" do chmod $ans $file done lf -remote 'send reload' }} cmd setwallpaper %cp "$f" ~/.config/wall.png && xwallpaper --zoom "$f" cmd fzf_jump ${{ res="$(find . -maxdepth 3 | fzf --reverse --header='Jump to location')" if [ -f "$res" ]; then cmd="select" elif [ -d "$res" ]; then cmd="cd" fi lf -remote "send $id $cmd \"$res\"" }} cmd broot_jump ${{ f=$(mktemp) res="$(broot --outcmd $f && cat $f | sed 's/cd //')" rm -f "$f" if [ -f "$res" ]; then cmd="select" elif [ -d "$res" ]; then cmd="cd" fi lf -remote "send $id $cmd \"$res\"" }} cmd open_config ${{ $EDITOR $(bookmenu -b ~/.config/bookmenu/configs -f fzf -o) }} cmd dragon %dragon-drag-and-drop -a -x $fx cmd dragon-stay %dragon-drag-and-drop -a $fx cmd dragon-individual %dragon-drag-and-drop $fx cmd dlfile %dlfile # Archive bindings cmd unarchive ${{ case "$f" in *.zip) unzip "$f" ;; *.tar.gz) tar -xzvf "$f" ;; *.tar.bz2) tar -xjvf "$f" ;; *.tar) tar -xvf "$f" ;; *) echo "Unsupported format" ;; esac }} cmd zip %zip -r "$f" "$f" cmd tar %tar cvf "$f.tar" "$f" cmd targz %tar cvzf "$f.tar.gz" "$f" cmd tarbz2 %tar cjvf "$f.tar.bz2" "$f" # Trash cli bindings cmd trash ${{ files=$(printf "$fx" | tr '\n' ';') while [ "$files" ]; do # extract the substring from start of string up to delimiter. # this is the first "element" of the string. file=${files%%;*} trash-put "$(basename "$file")" # if there's only one element left, set `files` to an empty string. # this causes us to exit this `while` loop. # else, we delete the first "element" of the string from files, and move onto the next. if [ "$files" = "$file" ]; then files='' else files="${files#*;}" fi done }} cmd clear_trash %trash-empty cmd restore_trash ${{ trash-restore }} cmd stripspace %stripspace "$f" # Bindings # Remove some defaults map m map o map n map "'" map '"' map d map c map e map f # Not really image preview map - $~/.config/lf/draw_img "$f" cmd video_preview ${{ CACHE=$(mktemp /tmp/thumb_cache.XXXXX) ffmpegthumbnailer -i "$f" -o $CACHE -s 0 ~/.config/lf/draw_img $CACHE && rm $CACHE }} map + :video_preview # File Openers map ee $$EDITOR "$f" map u $view "$f" # Archive Mappings map az zip map at tar map ag targz map ab targz map au unarchive # Trash Mappings map dd trash map tc clear_trash map tr restore_trash # Broot Mapping map f broot_jump # Dragon Mapping map dr dragon map ds dragon-stay map di dragon-individual map ss stripspace # Basic Functions map . set hidden! map DD delete map p paste map x cut map y copy map open map mf mkfile map mr sudomkfile map md mkdir map ms $mkscript map ch chmod map bg setwallpaper map o open_config map br $vimv $fx map r rename map H top map L bottom map R reload map C clear map U unselect # Movement map gtr cd ~/.local/share/Trash/files map gus cd /run/media/brodie map gv. cd ~/videos map gva cd ~/videos/anime map gy. cd ~/videos/youtube map gyt cd ~/videos/youtube/ToUpload map gyu cd ~/videos/youtube/Uploaded map gya cd ~/videos/youtube/asset map go. cd ~/videos/podcast map got cd ~/videos/podcast/ToUpload map gou cd ~/videos/podcast/Uploaded map gp. cd ~/pictures map gpm cd ~/pictures/mpvscreenshots map gpa cd ~/pictures/Anime map gps cd ~/pictures/screenshots map gw. cd ~/pictures/Wallpapers map gww cd ~/pictures/Wallpapers/Wallpapers map gwm cd ~/pictures/Wallpapers/MobileWallpapers map gt. cd ~/documents/Textbooks map gt1 cd ~/documents/Textbooks/1stYear map gt2 cd ~/documents/Textbooks/2ndYear map gt3 cd ~/documents/Textbooks/3rdYear map gu3 cd ~/documents/Uni/3rdYear map gd cd ~/documents map gD cd ~/downloads map ge cd ~/desktop map gs. cd ~/scripts map gsl cd ~/scripts/lf map gsa cd ~/scripts/alsa map gsi cd ~/scripts/i3 map gse cd ~/scripts/lemonbar map gsp cd ~/scripts/polybar map gsb cd ~/scripts/bspwm map gsu cd ~/scripts/pulse map gdt cd ~/scripts/transmission map gr. cd ~/repos map grb cd ~/repos/bookmenu map grf cd ~/repos/cleanfullscreen map grm cd ~/repos/dmenu map grd cd ~/repos/dotfiles map gri cd ~/repos/init map grk cd ~/repos/kanban-board map grl cd ~/repos/lbryurlconvert map grP cd ~/repos/PerlProjects map grr cd ~/repos/reading-list map grs cd ~/repos/st map grw cd ~/repos/website map gc cd ~/.config map gC cd ~/.local/share/cell map gl cd ~/.local map gE cd /etc map gU. cd /usr map gUs cd /usr/share map md kdir map br $vimv $fx