From e4672d66a9302f557ce26b0a418746deffe0decc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yaroslav=20de=20la=20Pe=C3=B1a=20Smirnov?= Date: Thu, 21 Jan 2021 23:29:58 +0300 Subject: Friendship ended with ranger, again. lf it is now MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Too many changes made, basically all of them related to lf. Sorry ranger. You're too slow 🦔. --- dotfiles/.config/lf/icons | 84 +++++++++++++++++++++++++++++++ dotfiles/.config/lf/lfrc | 92 ++++++++++++++++++++++++++++++++++ dotfiles/.config/sway/config | 3 +- dotfiles/.config/sxiv/exec/key-handler | 4 +- dotfiles/.config/zsh/shortcuts | 22 +++++++- 5 files changed, 199 insertions(+), 6 deletions(-) create mode 100644 dotfiles/.config/lf/icons create mode 100644 dotfiles/.config/lf/lfrc (limited to 'dotfiles/.config') diff --git a/dotfiles/.config/lf/icons b/dotfiles/.config/lf/icons new file mode 100644 index 0000000..776e078 --- /dev/null +++ b/dotfiles/.config/lf/icons @@ -0,0 +1,84 @@ +export LF_ICONS="di=📁:\ +fi=📃:\ +tw=🤝:\ +ow=📂:\ +ln=⛓:\ +or=❌:\ +ex=🏎:\ +*.txt=📜:\ +*.mom=📜:\ +*.me=📜:\ +*.ms=📜:\ +*.png=🖼:\ +*.webp=🖼:\ +*.ico=🖼:\ +*.jpg=🖼:\ +*.jpe=🖼:\ +*.jpeg=🖼:\ +*.gif=🖼:\ +*.svg=🖊:\ +*.tif=🖼:\ +*.tiff=🖼:\ +*.nef=📷:\ +*.xcf=🖌:\ +*.html=🌎:\ +*.url=🌎:\ +*.xml=📰:\ +*.gpg=🔒:\ +*.css=🎨:\ +*.pdf=📖:\ +*.djvu=📖:\ +*.epub=📖:\ +*.csv=📓:\ +*.xlsx=📓:\ +*.tex=📘:\ +*.md=📘:\ +*.r=📊:\ +*.R=📊:\ +*.rmd=📊:\ +*.Rmd=📊:\ +*.m=📊:\ +*.mp3=🎵:\ +*.opus=🎵:\ +*.ogg=🎵:\ +*.m4a=🎵:\ +*.flac=🎵:\ +*.wav=🎵:\ +*.mod=🎵:\ +*.xm=🎵:\ +*.mkv=🎥:\ +*.mp4=🎥:\ +*.webm=🎥:\ +*.mpeg=🎥:\ +*.avi=🎥:\ +*.mov=🎥:\ +*.mpg=🎥:\ +*.wmv=🎥:\ +*.m4b=🎥:\ +*.flv=🎥:\ +*.zip=📦:\ +*.rar=📦:\ +*.7z=📦:\ +*.tar.gz=📦:\ +*.apk=📦:\ +*.z64=🎮:\ +*.v64=🎮:\ +*.n64=🎮:\ +*.gba=🎮:\ +*.nes=🎮:\ +*.gdi=🎮:\ +*.gcm=🎮:\ +*.1=ℹ:\ +*.nfo=ℹ:\ +*.info=ℹ:\ +*.log=📙:\ +*.iso=📀:\ +*.img=📀:\ +*.qcow2=📀:\ +*.bib=📚:\ +*.ged=👪:\ +*.part=💔:\ +*.torrent=🔽:\ +*.jar=♨:\ +*.java=♨:\ +" diff --git a/dotfiles/.config/lf/lfrc b/dotfiles/.config/lf/lfrc new file mode 100644 index 0000000..4c2a3ba --- /dev/null +++ b/dotfiles/.config/lf/lfrc @@ -0,0 +1,92 @@ +# Personal lf conf +# Inspired by the official example conf and Luke Smith's voidrice's + +set icons +set scrolloff 10 +set ratios 1:4:3 +set period 1 +set ifs "\n" +set info size +set previewer ~/.local/bin/scope + +# Custom commands + +cmd on-cd &{{ + # '&' commands run silently in background (which is what we want here), + # but are not connected to stdout. + # To make sure our escape sequence still reaches stdout we pipe it to /dev/tty + printf "\033]0; lf - $PWD\007" > /dev/tty +}} + +on-cd + +cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')" + +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 +}} + +# compress current file or selected files with tar and gunzip +cmd tar ${{ + set -f + mkdir $1 + cp -r $fx $1 + tar -czf $1.tar.gz $1 + rm -rf $1 +}} + +# extract the current file with the right command +# (xkcd link: https://xkcd.com/1168/) +cmd extract ${{ + set -f + case $f in + *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;; + *.tar.gz|*.tgz) tar xzvf $f;; + *.tar.xz|*.txz) tar xJvf $f;; + *.zip) unzip $f;; + *.rar) unrar x $f;; + *.7z) 7z x $f;; + esac +}} + +# change dir with fzf +cmd fzf_jump ${{ + res="$(find . -type d | fzf --header='Jump to location')" + if [ -d "$res" ]; then + cmd="cd" + else + cmd="select" + fi + lf -remote "send $id $cmd \"$res\"" +}} + +# drag and drop prompt +cmd dragon $dragon-drag-and-drop -a $fx + +# copy path to clipboard +cmd yank-path &printf '%s' "$fx" | wl-copy + +# Bindings +map A rename +map c +map cc clear +map cd push :cd +map cw push A # rename from zero +map I push A # rename from the beginning +map i push A # rename before extention +map a push A # rename after extention +map push :mkdir +map reload +map shell +map D delete +map shell +map f :fzf_jump +map t :dragon +map W $setsid $TERMINAL & # open new terminal window +map Y :yank-path +map L $LESSOPEN='| ~/.local/bin/scope %s' less -R $f # open file preview in pager diff --git a/dotfiles/.config/sway/config b/dotfiles/.config/sway/config index 74d1272..675afc7 100644 --- a/dotfiles/.config/sway/config +++ b/dotfiles/.config/sway/config @@ -121,7 +121,7 @@ input 6127:24647:Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint { # Desktop mouse input 1118:2083:Microsoft_Microsoft___Classic_IntelliMouse__ { accel_profile flat - pointer_accel 0.5 + pointer_accel 0 } # Default wallpaper @@ -177,7 +177,6 @@ bindsym --to-code { $mod+F4 exec menublk $mod+F10 exec chcolors $mod+F12 exec menutz - $mod+r exec $term -t "ranger" -e ranger $mod+t exec --no-startup-id toggletorrent $mod+Ctrl+t exec --no-startup-id launch-transmission $mod+s exec "xway steam" diff --git a/dotfiles/.config/sxiv/exec/key-handler b/dotfiles/.config/sxiv/exec/key-handler index d9bad9f..17abf60 100755 --- a/dotfiles/.config/sxiv/exec/key-handler +++ b/dotfiles/.config/sxiv/exec/key-handler @@ -35,9 +35,9 @@ while read file; do dir="$(dirname "$file")" name="$(basename "$file")" base="${name%.*}" - mv "$file" ~/etc/temp/trash/ + mv "$file" ~/.local/trash/ if [ "JPEG" = "$(basename $dir)" ]; then - mv $(dirname "$dir")/"$base".NEF ~/etc/temp/trash/ + mv $(dirname "$dir")/"$base".NEF ~/.local/trash/ fi exit ;; "C-comma") rotate 270 $file ;; diff --git a/dotfiles/.config/zsh/shortcuts b/dotfiles/.config/zsh/shortcuts index 67f9652..a5c414a 100644 --- a/dotfiles/.config/zsh/shortcuts +++ b/dotfiles/.config/zsh/shortcuts @@ -10,6 +10,7 @@ alias units="units -H ''" alias trans="trans -v -pager='less -R'" alias lsdp="swaymsg -pt get_outputs | less" alias op="xdg-open" +alias drag="dragon-drag-and-drop" corona() { curl -s https://corona-stats.online/$1 ;} # It's corona time wintitle() { printf "\033]2;%s\a" "$1";} sass-watch() { @@ -32,8 +33,25 @@ alias spw="setsid $TERMINAL >/dev/null 2>&1 &" alias testinet="ping -c2 example.com" # Fuzzy finder -alias fzd='cd "$(find * -type d | fzf || echo ".")"' -alias fzv='nvim $(find * -type f | fzf)' +alias fzd='cd "$(find . -type d | fzf || echo ".")"' +alias fzv='nvim $(find . -type f | fzf)' +alias fzo='op $(find . -type f | fzf)' + +# Function for changing working dir after exiting lf +lfcd () { + tmp="$(mktemp)" + lf -last-dir-path="$tmp" "$@" + if [ -f "$tmp" ]; then + dir="$(cat "$tmp")" + rm -f "$tmp" + if [ -d "$dir" ]; then + if [ "$dir" != "$(pwd)" ]; then + cd "$dir" + fi + fi + fi +} +bindkey -s '^o' 'lfcd\n' # Mounting drive shortcuts alias mnt="udisksctl mount -b" -- cgit v1.2.3