#!/bin/sh # env # Written in 2019 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 } save_screenshot() { xwdtopnm | pnmtopng >~/media/ss/"$(date +%Y%m%d-%H%M%S)".png } case $# in 0) xwd -silent -root | save_screenshot ;; 1) if [ "$1" != "-window" ]; then printf "%s: Unknown option \"%s\".\n" \ "${0##*/}" "$1" >&2 exit 1 fi xwd -silent | save_screenshot ;; 2) if [ "$1" != "-id" ] && [ "$1" != "-name" ]; then printf "%s: Unknown option \"%s\".\n" \ "${0##*/}" "$1" >&2 exit 1 fi if [ -z "$2" ]; then printf "%s: %s expects a non-empty parameter.\n" \ "${0##*/}" "$1" >&2 exit 1 fi xwd -silent "$1" "$2" | save_screenshot ;; *) usage ;; esac