mirror of https://codeberg.org/anemofilia/zero
radio: files: .local/bin
parent
8a45491a28
commit
600eb74830
|
@ -0,0 +1,116 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -exu
|
||||
|
||||
WIDTH=$2
|
||||
HEIGHT=$3
|
||||
image() {
|
||||
chafa -f sixel \
|
||||
-s "$((${WIDTH}-2))x$((${HEIGHT}-2))" \
|
||||
--polite on \
|
||||
--animate on "$1"
|
||||
}
|
||||
|
||||
batorcat() {
|
||||
shift
|
||||
if command -v bat > /dev/null 2>&1; then
|
||||
bat --color=always --style=plain --pager=never "$1"
|
||||
else
|
||||
cat "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
FILE=$(readlink -f "$1")
|
||||
CACHE="$HOME/.cache/lf/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$FILE" | sha256sum | awk '{print $1}')"
|
||||
|
||||
case "${FILE}" in
|
||||
*.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.gif|*.jfif)
|
||||
image "${FILE}"
|
||||
exit 1
|
||||
;;
|
||||
*.pdf)
|
||||
[ ! -f "${CACHE}.jpg" ] && pdftoppm -jpeg -f 1 -singlefile "${FILE}" "${CACHE}"
|
||||
image "${CACHE}.jpg"
|
||||
exit 1
|
||||
;;
|
||||
*.svg)
|
||||
[ ! -f "${CACHE}.jpg" ] && convert "${FILE}" "${CACHE}.jpg"
|
||||
image "${CACHE}.jpg"
|
||||
exit 1
|
||||
;;
|
||||
*.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 "${FILE}" -o "${CACHE}.jpg" -s 0 -q 5
|
||||
image "${CACHE}.jpg"
|
||||
exit 1
|
||||
;;
|
||||
*.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.mka)
|
||||
exiftool "${FILE}"
|
||||
;;
|
||||
*.epub)
|
||||
[ ! -f "${CACHE}" ] && epub-thumbnailer "${FILE}" "${CACHE}" 1024
|
||||
image "${CACHE}"
|
||||
;;
|
||||
*.cbz|*.cbr|*.cbt)
|
||||
[ ! -f "${CACHE}" ] && comicthumb "${FILE}" "${CACHE}" 1024
|
||||
image "${CACHE}"
|
||||
;;
|
||||
*.tgz|*.tar.gz)
|
||||
tar tzf "${FILE}"
|
||||
;;
|
||||
*.tar.bz2|*.tbz2)
|
||||
tar tjf "${FILE}"
|
||||
;;
|
||||
*.tar.txz|*.txz)
|
||||
xz --list "${FILE}"
|
||||
;;
|
||||
*.tar)
|
||||
tar tf "${FILE}"
|
||||
;;
|
||||
*.zip|*.jar|*.war|*.ear|*.oxt)
|
||||
unzip -l "${FILE}"
|
||||
;;
|
||||
*.rar)
|
||||
unrar l "${FILE}"
|
||||
;;
|
||||
*.md)
|
||||
glow -s dark "${FILE}"
|
||||
;;
|
||||
*.7z)
|
||||
7z l "${FILE}"
|
||||
;;
|
||||
*.[1-8])
|
||||
man "${FILE}" | col -b
|
||||
;;
|
||||
*.o)
|
||||
nm "${FILE}"
|
||||
;;
|
||||
*.torrent)
|
||||
transmission-show "${FILE}"
|
||||
;;
|
||||
*.iso)
|
||||
iso-info --no-header -l "${FILE}"
|
||||
;;
|
||||
*.odt|*.ods|*.odp|*.sxw)
|
||||
odt2txt "${FILE}"
|
||||
;;
|
||||
*.doc)
|
||||
catdoc "${FILE}"
|
||||
;;
|
||||
*.docx)
|
||||
docx2txt "${FILE}" -
|
||||
;;
|
||||
*.xml|*.html)
|
||||
w3m -dump "${FILE}"
|
||||
;;
|
||||
*.xls|*.xlsx)
|
||||
ssconvert --export-type=Gnumeric_stf:stf_csv "${FILE}" "fd://1" | batorcat --language=csv
|
||||
;;
|
||||
*.ino)
|
||||
batorcat --language=cpp "${FILE}"
|
||||
;;
|
||||
*)
|
||||
cat "${FILE}"
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ $# -gt 0 ] && [ $1 = "-r" ]; then
|
||||
URL=https://c.xkcd.com/random/comic
|
||||
else
|
||||
URL=https://xkcd.com/
|
||||
fi
|
||||
URL=$(curl -s -L $URL \
|
||||
| grep 'href= "https://imgs.xkcd.com/comics.*' \
|
||||
| cut -d'>' -f2 \
|
||||
| cut -d'<' -f1)
|
||||
curl $URL --output /tmp/xkcd 2>/dev/null
|
||||
chafa /tmp/xkcd
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
setsid -f mpv av://v4l2:/dev/video0 --profile=low-latency --vf=hflip --untimed
|
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env -S guix shell bash -- bash
|
||||
|
||||
# Author: GekkoP
|
||||
# Source: http://linuxbbq.org/bbs/viewtopic.php?f=4&t=1656#p33189
|
||||
|
||||
f=3 b=4
|
||||
for j in f b; do
|
||||
for i in {0..7}; do
|
||||
printf -v $j$i %b "\e[${!j}${i}m"
|
||||
done
|
||||
done
|
||||
d=$'\e[1m'
|
||||
t=$'\e[0m'
|
||||
v=$'\e[7m'
|
||||
|
||||
|
||||
cat << EOF
|
||||
|
||||
$f0████$d▄$t $f1████$d▄$t $f2████$d▄$t $f3████$d▄$t $f4████$d▄$t $f5████$d▄$t $f6████$d▄$t $f7████$d▄$t
|
||||
$f0████$d█$t $f1████$d█$t $f2████$d█$t $f3████$d█$t $f4████$d█$t $f5████$d█$t $f6████$d█$t $f7████$d█$t
|
||||
$f0████$d█$t $f1████$d█$t $f2████$d█$t $f3████$d█$t $f4████$d█$t $f5████$d█$t $f6████$d█$t $f7████$d█$t
|
||||
$d$f0 ▀▀▀▀ $d$f1 ▀▀▀▀ $f2▀▀▀▀ $f3▀▀▀▀ $f4▀▀▀▀ $f5▀▀▀▀ $f6▀▀▀▀ $f7▀▀▀▀$t
|
||||
|
||||
EOF
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
"activewindow")
|
||||
# Get active window geometry
|
||||
eval $(xdotool getactivewindow getwindowgeometry --shell)
|
||||
REGION="$((${WIDTH} + 10))x$((${HEIGHT}+10))+$((${X}-5))+$((${Y}-5))"
|
||||
maim -Bg "${REGION}" | xclip -selection clipboard -t image/png;;
|
||||
"selectwindow")
|
||||
# Let the user select a window and get its geometry
|
||||
eval $(xdotool selectwindow getwindowgeometry --shell)
|
||||
REGION="$((${WIDTH} + 10))x$((${HEIGHT}+10))+$((${X}-5))+$((${Y}-5))"
|
||||
maim -Bg "${REGION}" | xclip -selection clipboard -t image/png;;
|
||||
"selectregion")
|
||||
maim -s | xclip -selection clipboard -t image/png;;
|
||||
*)
|
||||
# Get current screen
|
||||
SCREEN=$(xdotool get_desktop)
|
||||
REGION="$(hostname):${SCREEN}.1"
|
||||
maim -u | xclip -selection clipboard -t image/png;;
|
||||
esac
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
set -exu
|
||||
|
||||
tty=$(tty)
|
||||
tty=${tty#/dev/tty}
|
||||
|
||||
dir=$(which Xorg)
|
||||
dir=${dir%/bin/Xorg}
|
||||
|
||||
display=0
|
||||
while [ -e "/tmp/.X$display-lock" ] || [ -S "/tmp/.X11-unix/X$display" ]; do
|
||||
: "$((display += 1))"
|
||||
done
|
||||
display=:$display
|
||||
|
||||
"$dir/bin/xinit" -- "$dir/bin/Xorg" "$display" "vt$tty" \
|
||||
-keeptty \
|
||||
-configdir "$dir/share/X11/xorg.conf.d" \
|
||||
-modulepath "$dir/lib/xorg/modules"
|
Loading…
Reference in New Issue