summaryrefslogtreecommitdiff
path: root/.config/lf/lfrc
blob: 4c3a2f216738307aef5c4cbdedb115860d9e6f6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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