diff --git a/.config/vifm/scripts/sixel b/.config/vifm/scripts/sixel new file mode 100755 index 0000000..899ceeb --- /dev/null +++ b/.config/vifm/scripts/sixel @@ -0,0 +1,38 @@ +#!/bin/bash + +if [ "$#" -ne 3 ]; then + echo "Usage: $0 filename width height" + exit 1 +fi + +dim=( $(exiftool -p '$ImageWidth $ImageHeight' "$1") ) + +pw=$(($2*8)) +ph=$(($3*14)) + +w=${dim[0]} +h=${dim[1]} + +height=auto +width=auto +if [ $pw -lt $w ] && [ $ph -lt $h ]; then + newh=$(echo "($h*$pw)/$w" | bc) + neww=$(echo "($w*$ph)/$h" | bc) + + if [ $newh -le $ph ]; then + width=$pw + else + height=$ph + fi +elif [ $pw -lt $w ]; then + width=$pw +elif [ $ph -lt $h ]; then + height=$ph +fi + +# account for GNU screen +if [ -n "$STY" ]; then + popt=-P +fi + +exec img2sixel $popt --width=$width --height=$height "$1" diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc index 5c8eff8..64f8e16 100644 --- a/.config/vifm/vifmrc +++ b/.config/vifm/vifmrc @@ -42,28 +42,24 @@ nnoremap ,w :set wrap! nmap tj nmap q ZQ -fileviewer *.html elinks -dump %c -filextype *.html,*.htm $BROWSER %f 2>/dev/null & - -fileviewer *.docx docx2txt %c - -fileviewer *.odt odt2txt %c - +fileviewer lynx -dump %c filetype *.csv,*.xlsx sc-im %c fileviewer *.csv sed "s/,,,,/,,-,,/g;s/,,/ /g" %c | column -t | sed "s/ - / /g" | cut -c -%pw -filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus mpv --no-audio-display --input-ipc-server=/tmp/mpvsoc$(date +%%s) %c -filextype *.pdf,*.ps,*.eps,*.ps.gz,*.djvu,*.epub zathura %f 2>/dev/null &, -fileviewer *.pdf pdftotext -l 1 -nopgbrk %c - -fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.qt,*.divx,*.as[fx],*mp3,*.flac mediainfo -filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx,*.as[fx] mpv --input-ipc-server=/tmp/mpvsoc$(date +%%s) %f 2>/dev/null &, +filetype *.pdf,*.ps,*.eps,*.ps.gz,*.djvu,*.epub zathura %f 2>/dev/null & -fileview *.zip,*.rar,*.tar.gz atool -l %f filetype *.zip,*.rar,*.tar.gz,*.iso,*.xz,*.tar,*.tgz aunpack %f +fileviewer *.zip,*.rar,*.tar.gz atool -l %f -fileviewer *.[1-8] man ./%c | col -b filetype *.[1-8] man ./%c +fileviewer *.[1-8] man ./%c | col -b -fileviewer *.jpg,*.jpeg,*.png,*.ico vifmimg draw %px %py %pw %ph %c %pc vifmimg clear -filextype *.bmp,*.jpg,*.jpeg,*.png,*.ico,*.gif,*.xpm rotdir %f 2>/dev/null | imv 2>/dev/null & +filetype