1
0
mirror of https://github.com/tiyn/dotfiles.git synced 2026-04-15 19:54:48 +02:00

Vifm: Updated image handling

- SVGs are now previewed with white backgrounds
- Displaying are now handled by imv instead of inkscape and therefore have white backgrounds
This commit is contained in:
2026-04-12 08:21:27 +02:00
parent 5282835ae9
commit 169a7fcc57
3 changed files with 53 additions and 46 deletions

View File

@@ -1,3 +1,7 @@
[options]
background = #FFFFFF
[binds] [binds]
<plus> = zoom 1 <plus> = zoom 1

View File

@@ -217,11 +217,6 @@ fileviewer *.epub,*.kepub
\ %pc \ %pc
\ vifmimg clear \ vifmimg clear
" svg
filextype *.svg
\ {View in inkview}
\ inkview %f,
" Audio " Audio
filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus,*.aac filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus,*.aac
\ {Play using mpv} \ {Play using mpv}
@@ -266,7 +261,7 @@ filetype *.[1-8] man ./%c
fileviewer *.[1-8] man ./%c | col -b fileviewer *.[1-8] man ./%c | col -b
" Images " Images
filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm,*.webp filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm,*.webp,*.svg,*.svgz
\ {View in imv} \ {View in imv}
\ imv %c %d &, \ imv %c %d &,
fileviewer <image/*> fileviewer <image/*>
@@ -481,6 +476,12 @@ vnoremap rr :!lp %f<cr>
nnoremap cn :!cleanname %f<cr> nnoremap cn :!cleanname %f<cr>
vnoremap cn :!cleanname %f<cr> vnoremap cn :!cleanname %f<cr>
" Quicker pane navigation
nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
" ------------------------------------------------------------------------------ " ------------------------------------------------------------------------------
" Various customization examples " Various customization examples

View File

@@ -4,53 +4,55 @@ PCACHE="$HOME/.cache/vifm/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' --
export PCACHE="${PCACHE%% *}" export PCACHE="${PCACHE%% *}"
pclear() { pclear() {
printf '{"action": "remove", "identifier": "vifm-preview"}\n' > "$FIFO_UEBERZUG" printf '{"action": "remove", "identifier": "vifm-preview"}\n' >"$FIFO_UEBERZUG"
} }
image() { image() {
printf '{"action": "add", "identifier": "vifm-preview", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$2" "$3" "$4" "$5" "$6" > "$FIFO_UEBERZUG" printf '{"action": "add", "identifier": "vifm-preview", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$2" "$3" "$4" "$5" "$6" >"$FIFO_UEBERZUG"
} }
main() { main() {
case "$1" in case "$1" in
"clear") "clear")
pclear "$@" pclear "$@"
;; ;;
"draw") "draw")
FILE="$PWD/$6" FILE="$PWD/$6"
image "$1" "$2" "$3" "$4" "$5" "$FILE" TMP="${PCACHE}.jpg"
;; convert "$FILE" -background white -alpha remove -alpha off "$TMP" 2>/dev/null || cp "$FILE" "$TMP"
"video") image "$1" "$2" "$3" "$4" "$5" "$TMP"
[ ! -f "$PCACHE" ] && \ ;;
ffmpegthumbnailer -i "$6" -o "${PCACHE}.jpg" -s 0 -q 5 "video")
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" [ ! -f "$PCACHE" ] &&
;; ffmpegthumbnailer -i "$6" -o "${PCACHE}.jpg" -s 0 -q 5
"epub") image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
[ ! -f "$PCACHE" ] && \ ;;
epub-thumbnailer "$6" "$PCACHE" 1024 "epub")
image "$1" "$2" "$3" "$4" "$5" "$PCACHE" [ ! -f "$PCACHE" ] &&
;; epub-thumbnailer "$6" "$PCACHE" 1024
"pdf") image "$1" "$2" "$3" "$4" "$5" "$PCACHE"
[ ! -f "${PCACHE}.jpg" ] && \ ;;
pdftoppm -jpeg -f 1 -singlefile "$6" "$PCACHE" "pdf")
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" [ ! -f "${PCACHE}.jpg" ] &&
;; pdftoppm -jpeg -f 1 -singlefile "$6" "$PCACHE"
"djvu") image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
[ ! -f "${PCACHE}.jpg" ] && \ ;;
ddjvu -format=tiff -quality=90 -page=1 "$6" "$PCACHE.jpg" "djvu")
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" [ ! -f "${PCACHE}.jpg" ] &&
;; ddjvu -format=tiff -quality=90 -page=1 "$6" "$PCACHE.jpg"
"audio") image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
[ ! -f "${PCACHE}.jpg" ] && \ ;;
ffmpeg -hide_banner -i "$6" "${PCACHE}.jpg" -y >/dev/null "audio")
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" [ ! -f "${PCACHE}.jpg" ] &&
;; ffmpeg -hide_banner -i "$6" "${PCACHE}.jpg" -y >/dev/null
"font") image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
[ ! -f "${PCACHE}.jpg" ] && \ ;;
fontpreview -i "$6" -o "${PCACHE}.jpg" "font")
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" [ ! -f "${PCACHE}.jpg" ] &&
;; fontpreview -i "$6" -o "${PCACHE}.jpg"
*) image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
;;
*) ;;
esac esac
} }
main "$@" main "$@"