]> Freerunner's - dotfiles.git/commitdiff
lf: update config
authorAndre Ramnitz <tux.rising@gmail.com>
Thu, 22 Aug 2024 22:24:09 +0000 (00:24 +0200)
committerAndre Ramnitz <tux.rising@gmail.com>
Mon, 26 Aug 2024 13:52:01 +0000 (15:52 +0200)
config/lf/lfrc
config/lf/previewer.sh

index c90c1c38ef2cd426e792819313e266d02523daf6..9017966ee87b6f04d63da6503fa02ee7b288817e 100644 (file)
@@ -6,6 +6,7 @@
 set ignorecase
 set icons
 set info size
+set sortby name
 
 set previewer ~/.config/lf/previewer.sh
 set cleaner ~/.config/lf/clear_img.sh
@@ -47,10 +48,10 @@ set scrolloff 3
 # map a :push %mkdir<space>
 
 # make sure trash folder exists
-%mkdir -p ~/.trash
+%mkdir -p ~/.trash
 
 # use '<delete>' key for either 'trash' or 'delete' command
-map <delete> trash
+map <delete> trash
 # map <delete> delete
 
 cmd touchdir ${{
@@ -65,6 +66,7 @@ cmd touchfile ${{
        touch $ans
 }}
 
+
 # extract the current file with the right command
 # (xkcd link: https://xkcd.com/1168/)
 cmd extract ${{
@@ -175,7 +177,7 @@ cmd bulk-rename ${{
 }}
 
 cmd on-select &{{
-    lf -remote "send $id set statfmt \"$(eza -ld --color=always "$f")\""
+    lf -remote "send $id set statfmt \"$(eza -ld --color=always -o --no-permissions "$f")\""
 }}
 
 cmd fzf_jump ${{
@@ -210,9 +212,9 @@ cmd edit-config ${{
 
 cmd toggle_preview %{{
     if [ "$lf_preview" = "true" ]; then
-        lf -remote "send $id :set preview false; set ratios 1:5"
+        lf -remote "send $id :set preview false; set ratios 1; set info size:time"
     else
-        lf -remote "send $id :set preview true; set ratios 1:2:3"
+        lf -remote "send $id :set preview true; set ratios 1:2:3; set info """
     fi
 }}
 
@@ -294,11 +296,61 @@ cmd select-all &{{
 
     lf -remote "send $id :unselect; toggle $(get_files) $(get_dirs)"
 }}
+
+# create symlinks
+cmd link %{{
+    set -- $(cat ~/.local/share/lf/files)
+    mode="$1"
+    shift
+    if [ "$#" -lt 1 ]; then
+        lf -remote "send $id echo no files to link"
+        exit
+    fi
+    case "$mode" in
+        # symbolically copy mode is indicating a soft link
+        copy) ln -sr -t . -- "$@";;
+        # while a move mode is indicating a hard link
+        move) ln -t . -- "$@";;
+    esac
+    rm ~/.local/share/lf/files
+    lf -remote "send clear"
+}}
+
+# follow symlinks
+cmd follow-link %{{
+       lf -remote "send $id select \"$(readlink -- "$f" | sed 's/\\/\\\\/g;s/"/\\"/g')\""
+}}
+
+# a function similar to macOS finder app
+cmd selected-to-new-folder ${{
+       set -f
+       printf 'Directory name: '
+       read -r newd
+       mkdir -- "$newd"
+       mv -- $fx "$newd"
+}} 
+
+# ------------------------------------ commands:
+# helpers
+cmd open-with-gui &$@ $fx # opens asynchronously, intended for GUI applications
+cmd open-with-cli $$@ $fx # opens synchronously, intended for CLI/TUI applications
+
+# options per location
+setlocal ~ sortby name
+setlocal ~/Bilder/Screenshots sortby ctime
+setlocal ~/dotfiles sortby name
+setlocal /m sortby name
+setlocal /media sortby name
+setlocal /mnt sortby name
+
 # unmap keys
+map c
 map d
 map m
+map p
 map t
 map x
+# map u is unselect
 
 # one-shot commands
 map R bulk-rename
@@ -306,45 +358,56 @@ map J move-parent down
 map K move-parent up
 map \= select-dirs
 map \+ select-files
-map \% select-all
+map A select-all
 map \| shell-pipe
+map ~ 
 
 # m = mark
 map mm mark-save
 map mr mark-remove
-# mark-load is gm
+map ml mark-load
 
 # t = touch
 map td touchdir
 map tt touchfile
 
+# c = change
+map cw : rename
+map cm selected-to-new-folder
+map cy yank-file $printf '%s' "$f" | wl-copy -p -n
+
 # d = delete
 map dd cut
-map dz trash
-map dD trash
+map dt trash
 map dr trash-restore
-
-# o = order
-map oc : set sortby ctime; set reverse false; set info ctime
-map oe : set sortby ext; set reverse false; set info size
-map on : set sortby name; set reverse false; set info size
-map os : set sortby size; set reverse false; set info size
-map om : set sortby time; set reverse false; set info time
-map oC : set sortby ctime; set reverse true; set info ctime
-map oE : set sortby ext; set reverse true; set info size
-map oN : set sortby name; set reverse true; set info size
-map oS : set sortby size; set reverse true; set info size
-map oM : set sortby time; set reverse true; set info time
+map dZ delete #zap
 
 # g = goto
 map gc cd ~/.config
-map gm mark-load
+map gd cd ~/dotfiles
+map gf :fzf_search
+map gL follow-link
+map gm cd /media
 map gM cd /mnt
 map ge bottom
+map gs cd ~/Bilder/Screenshots
 map go :fzf_jump
-map gs :fzf_search
+
+# o = open
+map oo push :open-with-cli<space>
+map oO push :open-with-gui<space>
+
+# s = sort
+map sA : set sortby ctime; set reverse true; set info ctime
+map sC : set sortby ctime; set reverse true; set info ctime
+map sE : set sortby ext; set reverse true; set info size
+map sN : set sortby name; set reverse true; set info size
+map sS : set sortby size; set reverse true; set info size
+map sT : set sortby time; set reverse true; set info time
 
 # various commands
-map zp toggle_preview
+map ~ toggle_preview
 map C edit-config
+map pp :paste; clear
+map pP :link; clear
 
index 8759fdee3faa71d823e0ab00258b1fa4b6ece323..46741ab2941d8cc9110b635b5635da98cf187bc3 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 draw() {
-  ~/.config/lf/draw_img.sh "$@"
+  ~/dotfiles/config/lf/draw_img.sh "$@"
   exit 1
 }