diff --git a/contrib/grimshot b/contrib/grimshot index 1ec19def6..13cc066a7 100755 --- a/contrib/grimshot +++ b/contrib/grimshot @@ -21,6 +21,7 @@ getTargetDirectory() { NOTIFY=no CURSOR= +WAIT=no while [ $# -gt 0 ]; do key="$1" @@ -34,6 +35,15 @@ while [ $# -gt 0 ]; do CURSOR=yes shift # past argument ;; + -w|--wait) + shift + WAIT="$1" + if echo "$WAIT" | grep "[^0-9]" -q; then + echo "invalid value for wait '$WAIT'" >&2 + exit 3 + fi + shift + ;; *) # unknown option break # done with parsing --flags ;; @@ -46,7 +56,7 @@ FILE=${3:-$(getTargetDirectory)/$(date -Ins).png} if [ "$ACTION" != "save" ] && [ "$ACTION" != "copy" ] && [ "$ACTION" != "check" ]; then echo "Usage:" - echo " grimshot [--notify] [--cursor] (copy|save) [active|screen|output|area|window] [FILE|-]" + echo " grimshot [--notify] [--cursor] [--wait N] (copy|save) [active|screen|output|area|window] [FILE|-]" echo " grimshot check" echo " grimshot usage" echo "" @@ -153,6 +163,10 @@ else die "Unknown subject to take a screen shot from" "$SUBJECT" fi +if [ "$WAIT" != "no" ]; then + sleep "$WAIT" +fi + if [ "$ACTION" = "copy" ] ; then takeScreenshot - "$GEOM" "$OUTPUT" | wl-copy --type image/png || die "Clipboard error" notifyOk "$WHAT copied to buffer" diff --git a/contrib/grimshot.1 b/contrib/grimshot.1 index 2c4c6a958..d6cab2f14 100644 --- a/contrib/grimshot.1 +++ b/contrib/grimshot.1 @@ -13,7 +13,7 @@ grimshot - a helper for screenshots within sway .P .SH SYNOPSIS .P -\fBgrimshot\fR [--notify] [--cursor] (copy|save) [TARGET] [FILE] +\fBgrimshot\fR [--notify] [--cursor] [--wait N] (copy|save) [TARGET] [FILE] .br \fBgrimshot\fR check .br @@ -31,6 +31,13 @@ Show notifications to the user that a screenshot has been taken.\& Include cursors in the screenshot.\& .P .RE +\fB--wait N\fR +.RS 4 +Wait for N seconds before taking a screenshot.\& Waits after any +manual selection is made.\& Recommended to combine with --notify in +order to know when the screenshot has been taken.\& +.P +.RE \fBsave\fR .RS 4 Save the screenshot into a regular file.\& Grimshot will write images diff --git a/contrib/grimshot.1.scd b/contrib/grimshot.1.scd index e356f99d9..85921e38c 100644 --- a/contrib/grimshot.1.scd +++ b/contrib/grimshot.1.scd @@ -6,7 +6,7 @@ grimshot - a helper for screenshots within sway # SYNOPSIS -*grimshot* [--notify] [--cursor] (copy|save) [TARGET] [FILE]++ +*grimshot* [--notify] [--cursor] [--wait N] (copy|save) [TARGET] [FILE]++ *grimshot* check++ *grimshot* usage @@ -18,6 +18,11 @@ grimshot - a helper for screenshots within sway *--cursor* Include cursors in the screenshot. +*--wait N* + Wait for N seconds before taking a screenshot. Waits after any + manual selection is made. Recommended to combine with --notify in + order to know when the screenshot has been taken. + *save* Save the screenshot into a regular file. Grimshot will write image files to *XDG_SCREENSHOTS_DIR* if this is set (or defined