From 3c8db2a663291204899c2b03d7a36828be21eab5 Mon Sep 17 00:00:00 2001 From: Hendrik Boll Date: Thu, 10 Jul 2025 11:51:33 +0200 Subject: [PATCH] lf: add config --- dot_config/lf/executable_lf_kitty_clean | 3 ++ dot_config/lf/executable_lf_kitty_preview | 13 ++++++ dot_config/lf/lfrc | 51 +++++++++++++++++++++++ dot_zsh/lf.zsh | 4 ++ 4 files changed, 71 insertions(+) create mode 100644 dot_config/lf/executable_lf_kitty_clean create mode 100644 dot_config/lf/executable_lf_kitty_preview create mode 100644 dot_config/lf/lfrc create mode 100644 dot_zsh/lf.zsh diff --git a/dot_config/lf/executable_lf_kitty_clean b/dot_config/lf/executable_lf_kitty_clean new file mode 100644 index 0000000..16a2e66 --- /dev/null +++ b/dot_config/lf/executable_lf_kitty_clean @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty diff --git a/dot_config/lf/executable_lf_kitty_preview b/dot_config/lf/executable_lf_kitty_preview new file mode 100644 index 0000000..6816469 --- /dev/null +++ b/dot_config/lf/executable_lf_kitty_preview @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +file=$1 +w=$2 +h=$3 +x=$4 +y=$5 + +if [[ "$( file -Lb --mime-type "$file")" =~ ^image ]]; then + kitty +kitten icat --silent --stdin no --transfer-mode file --place "${w}x${h}@${x}x${y}" "$file" < /dev/null > /dev/tty + exit 1 +fi + +# pistol "$file" diff --git a/dot_config/lf/lfrc b/dot_config/lf/lfrc new file mode 100644 index 0000000..fc698e4 --- /dev/null +++ b/dot_config/lf/lfrc @@ -0,0 +1,51 @@ +# kitty previewer +set previewer ~/.config/lf/lf_kitty_preview +set cleaner ~/.config/lf/lf_kitty_clean + +# 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 +}} + +# 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 +}} + +# zoxide +cmd cd %{{ + result="$(zoxide query --exclude $PWD $@ | sed 's/\\/\\\\/g;s/"/\\"/g')" + lf -remote "send $id cd \"$result\"" +}} + +cmd cdi ${{ + result="$(zoxide query -i | sed 's/\\/\\\\/g;s/"/\\"/g')" + lf -remote "send $id cd \"$result\"" +}} + +cmd on-cd &{{ + zoxide add "$PWD" +}} + diff --git a/dot_zsh/lf.zsh b/dot_zsh/lf.zsh new file mode 100644 index 0000000..87869ab --- /dev/null +++ b/dot_zsh/lf.zsh @@ -0,0 +1,4 @@ +LFCD="/usr/share/examples/lf/lfcd.sh" +[[ -f "$LFCD" ]] && source "$LFCD" + +bindkey -s '^o' 'lfcd\n'