#!/bin/sh
set -eu
usage() {
cat <<-'EOF'
Usage:
qr [-s PIXEL_SIZE]
qr -h
EOF
}
help() {
cat <<-'EOF'
Options:
-s PIXEL_SIZE size of the pixel (default 10)
-h, --help show this help message
Read data from STDIN and present a QR image with said data.
Examples:
Link to my homepage:
$ printf 'https://euandre.org' | qr
Numbers with a smaller pixel size:
$ seq 99 | qr -s 5
EOF
}
for flag in "$@"; do
case "$flag" in
(--)
break
;;
(--help)
usage
help
exit
;;
(*)
;;
esac
done
PIXEL_SIZE=10
while getopts 's:h' flag; do
case "$flag" in
(s)
PIXEL_SIZE="$OPTARG"
;;
(h)
usage
help
exit
;;
(*)
usage >&2
exit 2
;;
esac
done
shift $((OPTIND - 1))
cat | qrencode -s "$PIXEL_SIZE" -o- | feh -