diff options
Diffstat (limited to 'lf')
-rwxr-xr-x | lf/3q | 2 | ||||
-rwxr-xr-x | lf/cleaner | 4 | ||||
-rwxr-xr-x | lf/image | 7 | ||||
-rw-r--r-- | lf/lfrc | 10 | ||||
-rwxr-xr-x | lf/preview | 91 | ||||
-rwxr-xr-x | lf/previewer | 36 |
6 files changed, 48 insertions, 102 deletions
@@ -1,2 +0,0 @@ -#!/bin/sh -chafa "$1" @@ -1,4 +1,2 @@ #!/bin/sh -if [ -n "$FIFO_UEBERZUG" ]; then - printf '{"action": "remove", "identifier": "PREVIEW"}\n' > "$FIFO_UEBERZUG" -fi +exec kitten icat --clear --stdin no --transfer-mode memory </dev/null >/dev/tty @@ -7,9 +7,10 @@ main() { > "$FIFO_UEBERZUG" ;; "draw") - declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" \ - [x]="$3" [y]="$4" [max_width]="$5" [max_height]="$6" \ - [path]="$2") > "$FIFO_UEBERZUG" + kitten icat --stdin no --transfer-mode memory --place"${5}x${6}@${3}x${4}" "$1" /dev/tty + #declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" \ + #[x]="$3" [y]="$4" [max_width]="$5" [max_height]="$6" \ + #[path]="$2") > "$FIFO_UEBERZUG" ;; "*") echo "Unknown command: '$1', '$2'" ;; esac @@ -1,7 +1,8 @@ set ratios 1:2:3 +set previewer ~/.config/lf/previewer set cleaner ~/.config/lf/cleaner -set previewer ~/.config/lf/preview # Basic Settings +set sixel true set preview true set drawbox false set icons true @@ -13,6 +14,9 @@ cmd open ${{ jnlp) javaws "$f" ;; + mp3|flac|webm|ogg) + mpv "$f" + ;; *) case $(file --mime-type "$f" -bL) in text/*|application/json) $EDITOR "$f" ;; @@ -46,9 +50,9 @@ cmd chmod ${{ printf "Mode Bits: " read ans - for file in "$fx" + echo "$fx" | while read file do - chmod $ans $file + chmod "$ans" "$file" done }} diff --git a/lf/preview b/lf/preview deleted file mode 100755 index 6140cf7..0000000 --- a/lf/preview +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/sh - -image() { - geometry="$(($2-2))x$3" - chafa "$1" -f sixel -s "$geometry" --animate false | fold -w 65535 -} - -batorcat() { - file="$1" - shift - if command -v bat > /dev/null 2>&1 - then - bat --color=always --style=plain --pager=never "$file" "$@" - else - cat "$file" - fi -} - -glowormdcat() { - file="$1" - shift - if command -v glow > /dev/null 2>&1 - then - glow "$file" - else - mdcat "$file" - fi -} - -CACHE="$HOME/.cache/lf/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | awk '{print $1}'))" - -case "$(printf "%s\n" "$(readlink -f "$1")" | awk '{print tolower($0)}')" in - *.tgz|*.tar.gz) tar tzf "$1" ;; - *.tar.bz2|*.tbz2) tar tjf "$1" ;; - *.tar.txz|*.txz) xz --list "$1" ;; - *.tar) tar tf "$1" ;; - *.zip|*.jar|*.war|*.ear|*.oxt) unzip -l "$1" ;; - *.rar) unrar l "$1" ;; - *.md) - glowormdcat "$1";; - *.7z) 7z l "$1" ;; - *.[1-8]) man "$1" | col -b ;; - *.o) nm "$1";; - *.torrent) transmission-show "$1" ;; - *.iso) iso-info --no-header -l "$1" ;; - *.odt|*.ods|*.odp|*.sxw) odt2txt "$1" ;; - *.doc) catdoc "$1" ;; - *.docx) docx2txt "$1" ;; - *.xml|*.html) w3m -dump "$1";; - *.xls|*.xlsx) - ssconvert --export-type=Gnumeric_stf:stf_csv "$1" "fd://1" | batorcat --language=csv - ;; - *.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.mka) - exiftool "$1" - ;; - *.pdf) - [ ! -f "${CACHE}.jpg" ] && \ - pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE" - image "${CACHE}.jpg" "$2" "$3" "$4" "$5" - ;; - *.epub) - [ ! -f "$CACHE" ] && \ - epub-thumbnailer "$1" "$CACHE" 1024 - image "$CACHE" "$2" "$3" "$4" "$5" - ;; - *.cbz|*.cbr|*.cbt) - [ ! -f "$CACHE" ] && \ - comicthumb "$1" "$CACHE" 1024 - image "$CACHE" "$2" "$3" "$4" "$5" - ;; - *.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx) - [ ! -f "${CACHE}.jpg" ] && \ - ffmpegthumbnailer -i "$1" -o "${CACHE}.jpg" -s 0 -q 5 - image "${CACHE}.jpg" "$2" "$3" "$4" "$5" - ;; - *.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.tiff|*.gif|*.jfif|*.ico) - image "$1" "$2" "$3" "$4" "$5" - ;; - *.svg) - [ ! -f "${CACHE}.jpg" ] && \ - convert "$1" "${CACHE}.jpg" - image "${CACHE}.jpg" "$2" "$3" "$4" "$5" - ;; - *.ino) - batorcat --language=cpp "$1" - ;; - *) - batorcat "$1" - ;; -esac -exit 0 diff --git a/lf/previewer b/lf/previewer new file mode 100755 index 0000000..24db043 --- /dev/null +++ b/lf/previewer @@ -0,0 +1,36 @@ +#!/bin/sh +draw() { + kitten icat --stdin no --transfer-mode memory --place "${w}x${h}@${x}x${y}" "$1" </dev/null >/dev/tty + exit 1 +} + +file="$1" +w="$2" +h="$3" +x="$4" +y="$5" + +case "$(file -Lb --mime-type "$file")" in + image/*) + draw "$file" + ;; + video/*) + # vidthumb is from here: + # https://raw.githubusercontent.com/duganchen/kitty-pistol-previewer/main/vidthumb + draw "$(vidthumb "$file")" + ;; + application/pdf) + CACHE=$(mktemp /tmp/thumbcache.XXXXX) + pdftoppm -png -f 1 -singlefile "$1" "$CACHE" + draw "$CACHE.png" + rm -f "$CACHE" "$CACHE.png" + ;; + application/epub+zip|application/epub) + CACHE=$(mktemp /tmp/thumbcache.XXXXX) + epub-thumbnailer "$1" "$CACHE" 1024 + $HOME/.config/lf/image draw "$CACHE" + rm -f "$CACHE" "$CACHE.png" + ;; +esac + +pistol "$file" |