summaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
Diffstat (limited to '.config')
-rw-r--r--.config/lf/lfrc98
-rwxr-xr-x.config/lf/previewer11
2 files changed, 109 insertions, 0 deletions
diff --git a/.config/lf/lfrc b/.config/lf/lfrc
new file mode 100644
index 0000000..4c3a2f2
--- /dev/null
+++ b/.config/lf/lfrc
@@ -0,0 +1,98 @@
+# shell and scripts
+set shell sh
+set shellopts '-eu'
+set ifs "\n"
+set previewer '~/.config/lf/previewer'
+
+# appearance
+set scrolloff 5
+set cursorpreviewfmt "\033[7;2m" # 'dim' cursor for preview pane
+set hidden true
+
+# other behavior
+set ignorecase true
+
+# common directories
+map gc cd ~/.config
+map gb cd ~/.local/bin
+map gS cd ~/.local/share
+map gD cd ~/documents
+map gd cd ~/downloads
+map gM cd ~/mail
+map gm cd ~/music
+map gp cd ~/pictures
+map gs cd ~/pictures/screenshots
+map gw cd ~/pictures/wallpapers
+map gr cd ~/repos
+map gv cd ~/videos
+map gR cd ~/videos/recordings
+
+# custom functions
+cmd cdtemp &{{
+ tmp=$(mktemp -d) || exit 1
+ lf -remote "send $id cd '$tmp'"
+}}
+cmd unar ${{
+ 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
+}}
+cmd mktgz %{{
+ set -f
+ printf "mktgz: "
+ read -r path
+ mkdir "$path"
+ cp -r $fx "$path"
+ tar czf "$path.tar.gz" "$path"
+ rm -rf "$path"
+}}
+cmd mkzip %{{
+ set -f
+ printf "mkzip: "
+ read -r path
+ mkdir "$path"
+ cp -r $fx "$path"
+ zip -r "$path.zip" "$path"
+ rm -rf "$path"
+}}
+cmd touch %{{
+ printf "touch: "
+ read -r path
+ touch "$path"
+}}
+cmd mkdir %{{
+ printf "mkdir: "
+ read -r path
+ mkdir -p "$path"
+}}
+cmd chmod %{{
+ set -f
+ printf "chmod: "
+ read -r mod
+ chmod "$mod" $fx
+ lf -remote "send $id reload"
+}}
+cmd nsxiv &{{
+ set -f
+ nsxiv -r $fx
+}}
+
+# custom maps
+map <enter> shell
+map ` !true
+map D delete
+map . set hidden!
+map T cdtemp
+map au unar
+map ag mktgz
+map az mkzip
+map af touch
+map ad mkdir
+map ac chmod
+map ai nsxiv
diff --git a/.config/lf/previewer b/.config/lf/previewer
new file mode 100755
index 0000000..0a26b63
--- /dev/null
+++ b/.config/lf/previewer
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -eu
+
+case "$(file -bL --mime-type "$1")" in
+ application/zip) zipinfo "$1" ;;
+ audio/* | image/* | video/*) mediainfo "$1" ;;
+ text/html) lynx -dump "$1" ;;
+ text/*) cat "$1" ;;
+ *) file "$1" ;;
+esac