aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.config
diff options
context:
space:
mode:
authorYaroslav de la Peña Smirnov <yps@yaroslavps.com>2021-01-21 23:29:58 +0300
committerYaroslav de la Peña Smirnov <yps@yaroslavps.com>2021-01-21 23:29:58 +0300
commite4672d66a9302f557ce26b0a418746deffe0decc (patch)
treefe1e226c629061411c9fe8de7d16e861deaff223 /dotfiles/.config
parent64d645f2bd1d18aeefdde07621a1a4d1e07cb1cd (diff)
downloadswayrice-e4672d66a9302f557ce26b0a418746deffe0decc.tar.gz
swayrice-e4672d66a9302f557ce26b0a418746deffe0decc.zip
Friendship ended with ranger, again. lf it is now
Too many changes made, basically all of them related to lf. Sorry ranger. You're too slow 🦔.
Diffstat (limited to 'dotfiles/.config')
-rw-r--r--dotfiles/.config/lf/icons84
-rw-r--r--dotfiles/.config/lf/lfrc92
-rw-r--r--dotfiles/.config/sway/config3
-rwxr-xr-xdotfiles/.config/sxiv/exec/key-handler4
-rw-r--r--dotfiles/.config/zsh/shortcuts22
5 files changed, 199 insertions, 6 deletions
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<space>
+map cw push A<c-u> # rename from zero
+map I push A<c-a> # rename from the beginning
+map i push A<a-b><a-b><a-f> # rename before extention
+map a push A<a-b> # rename after extention
+map <c-n> push :mkdir<space>
+map <c-r> reload
+map <enter> shell
+map D delete
+map <enter> 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"