zmiana konfiguracji na wayland i sway :love:
This commit is contained in:
177
.config/lf/lfrc
Normal file
177
.config/lf/lfrc
Normal file
@ -0,0 +1,177 @@
|
||||
## Basic Settings
|
||||
### interpreter for shell commands (needs to be POSIX compatible)
|
||||
set shell sh
|
||||
### view hidden files
|
||||
set hidden
|
||||
set info size:time
|
||||
set previewer lf-preview.sh
|
||||
#set previewer /usr/bin/pistol
|
||||
### Enable icons. Requires nerd fonts and LF_ICONS variable.
|
||||
set icons
|
||||
set ignorecase true
|
||||
|
||||
### set '-eu' options for shell commands
|
||||
### These options are used to have safer shell commands. Option '-e' is used to
|
||||
### exit on error and option '-u' is used to give error for unset variables.
|
||||
### Option '-f' disables pathname expansion which can be useful when $f, $fs, and
|
||||
### $fx variables contain names with '*' or '?' characters. However, this option
|
||||
### is used selectively within individual commands as it can be limiting at
|
||||
### times.
|
||||
set shellopts '-eu'
|
||||
|
||||
### set internal field separator (IFS) to "\n" for shell commands
|
||||
### This is useful to automatically split file names in $fs and $fx properly
|
||||
### since default file separator used in these variables (i.e. 'filesep' option)
|
||||
### is newline. You need to consider the values of these options and create your
|
||||
### commands accordingly.
|
||||
set ifs "\n"
|
||||
|
||||
### leave some space at the top and the bottom of the screen
|
||||
set scrolloff 10
|
||||
|
||||
## Custom Functions
|
||||
|
||||
### define a custom 'open' command
|
||||
cmd open ${{
|
||||
case $(file --mime-type $f -b) in
|
||||
application/x-gtar|application/gzip|application/x-bzip2|application/x-rar|application/zip|application/x-iso9660-image|application/x-xz)
|
||||
mntdir="$f-archivemount"
|
||||
[ ! -d "$mntdir" ] && {
|
||||
mkdir "$mntdir"
|
||||
archivemount "$f" "$mntdir"
|
||||
echo "$mntdir" >> "/tmp/__lf_archivemount_$id"
|
||||
}
|
||||
lf -remote "send $id cd \"$mntdir\""
|
||||
lf -remote "send $id reload"
|
||||
;;
|
||||
text/*|*/json) $EDITOR "$f";;
|
||||
*) for f in $fx; do $OPENER "$f" > /dev/null 2> /dev/null & done;;
|
||||
esac
|
||||
}}
|
||||
|
||||
### define a custom 'rename' command without prompt for overwrite
|
||||
# cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1
|
||||
# map r push :rename<space>
|
||||
|
||||
cmd trash ${{
|
||||
for file in $fs; do
|
||||
trash-put "$file"
|
||||
done
|
||||
}}
|
||||
|
||||
cmd trash_clear %trash_empty
|
||||
|
||||
cmd trash_restore ${{
|
||||
trash-restore
|
||||
}}
|
||||
|
||||
cmd mkdir %mkdir -p "$(echo $* | tr ' ' '\ ')"
|
||||
map a push :mkdir<space>
|
||||
|
||||
cmd mkfile ${{
|
||||
$EDITOR $1
|
||||
}}
|
||||
|
||||
cmd sudomkfile ${{
|
||||
sudo $EDITOR $1
|
||||
}}
|
||||
|
||||
cmd setwallpaper ${{
|
||||
swaymsg output "*" background "$f" stretch
|
||||
}}
|
||||
|
||||
cmd chmod ${{
|
||||
for file in "$fx"; do chmod $1 $file; done
|
||||
lf -remote 'send reload'
|
||||
}}
|
||||
|
||||
### 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;;
|
||||
*) echo "Unsupported format";;
|
||||
esac
|
||||
}}
|
||||
|
||||
### 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
|
||||
}}
|
||||
|
||||
### compress current file or selected files with zip
|
||||
cmd zip ${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
zip -r $1.zip $1
|
||||
rm -rf $1
|
||||
}}
|
||||
|
||||
cmd paste &{{
|
||||
load=$(lf -remote 'load')
|
||||
mode=$(echo "$load" | sed -n '1p')
|
||||
list=$(echo "$load" | sed '1d')
|
||||
if [ $mode = 'copy' ]; then
|
||||
rsync -av --progress $list . \
|
||||
| stdbuf -i0 -o0 -e0 tr '\r' '\n' \
|
||||
| while read line; do
|
||||
lf -remote "send $id echo $line"
|
||||
done
|
||||
elif [ $mode = 'move' ]; then
|
||||
mv -n $list .
|
||||
fi
|
||||
lf -remote 'send load'
|
||||
lf -remote 'send clear'
|
||||
}}
|
||||
|
||||
cmd drag &{{
|
||||
dragon-drag-and-drop -a -x $fx
|
||||
}}
|
||||
|
||||
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 bulkrename $vdir
|
||||
#cmd bulkrename $qmv -f do -a
|
||||
cmd bulkrename $edir -a
|
||||
|
||||
## Bindings
|
||||
|
||||
# map <delete> trash
|
||||
map <delete> delete
|
||||
|
||||
map f broot_jump
|
||||
|
||||
### use enter for shell commands
|
||||
map <enter> shell
|
||||
|
||||
### execute current file (must be executable)
|
||||
#map x $$f
|
||||
#map X !$f
|
||||
|
||||
### dedicated keys for file opener actions
|
||||
#map o &mimeopen $f
|
||||
#map O $mimeopen --ask $f
|
||||
|
||||
map R bulkrename
|
||||
|
Reference in New Issue
Block a user