#!/bin/sh # screenshot # Written in 2019-2020 by Lucas # CC0 1.0 Universal/Public domain - No rights reserved # # To the extent possible under law, the author(s) have dedicated all # copyright and related and neighboring rights to this software to the # public domain worldwide. This software is distributed without any # warranty. You should have received a copy of the CC0 Public Domain # Dedication along with this software. If not, see # . usage() { cat - <<. >&2 Usage: ${0##*/} ${0##*/} -id id ${0##*/} -name name ${0##*/} -window . exit 1 } err() { printf "%s: %s\n" "${0##*/}" "$*" >&2 exit 1 } case $# in 0) set -- -root ;; 1) [ "$1" = "-window" ] || err "unknown option $1" set -- ;; 2) [ "$1" = "-id" ] || [ "$1" = "-name" ] || err "unknown option $1" [ -n "$2" ] || err "$1 expects a non-empty parameter" ;; *) usage ;; esac : ${SCREENSHOTS:=~/media/ss} xwd -silent "$@" | xwdtopnm | pnmtopng >"$SCREENSHOTS/$(date +%Y%m%d-%H%M%S).png"