From 303aa81d25df5f96ce980f2d38efb4a8ffc8faf7 Mon Sep 17 00:00:00 2001 From: tdback Date: Mon, 27 Jan 2025 22:45:38 -0500 Subject: initial commit --- snapshot | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 snapshot (limited to 'snapshot') diff --git a/snapshot b/snapshot new file mode 100755 index 0000000..380051a --- /dev/null +++ b/snapshot @@ -0,0 +1,37 @@ +#!/bin/sh + +# snapshot: Take a screenshot using ImageMagick. Assumes `dunst` daemon is +# running when sending notifications. + +set -eu + +SCREENSHOT_DIR="$HOME/.local/screenshots" +SCREENSHOT_NAME="$SCREENSHOT_DIR/$(date '+%F_%R-%S' | sed 's/:/-/g').png" + +_end() { + dunstify "Screenshot captured:\n$SCREENSHOT_NAME" + display "$SCREENSHOT_NAME" + [ -t 1 ] && echo "$SCREENSHOT_NAME" + exit 0 +} + +region() { + import "$SCREENSHOT_NAME" + _end +} + +full() { + import -window root "$SCREENSHOT_NAME" + _end +} + +[ -d "$SCREENSHOT_DIR" ] || mkdir -p "$SCREENSHOT_DIR" + +[ "$#" -eq 0 ] && region + +while getopts ":f" arg; do + case "$arg" in + f) full ;; + *) printf "Invalid option: -%s\n" "$OPTARG" >&2 && exit 1 ;; + esac +done -- cgit v1.2.3