From 732b1fc2a6920213daaa681aaf5b32714249400c Mon Sep 17 00:00:00 2001
From: Mara Bos <m-ou.se@m-ou.se>
Date: Tue, 24 Mar 2020 14:42:26 +0100
Subject: [PATCH] Add rushlink --screenshot.

---
 contrib/rushlink | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/contrib/rushlink b/contrib/rushlink
index c32ca58..b476b18 100755
--- a/contrib/rushlink
+++ b/contrib/rushlink
@@ -43,6 +43,29 @@ del() {
     fi
 }
 
+screenshot() {
+    if command -v maim >/dev/null 2>&1; then
+        CMD="maim -ks"
+    elif command -v import >/dev/null 2>&1; then
+        CMD="import png:-"
+    else
+        echo "Neither maim nor import were found. One of these is needed to make screenshots." >&2
+        exit 1
+    fi
+    FILE=$(mktemp)
+    if $CMD > "$FILE"; then
+        LINK=$(link "$FILE")
+        rm -f "$FILE"
+        echo "$LINK.png"
+        if command -v xdg-open >/dev/null 2>&1; then
+            xdg-open "$LINK.png"
+        fi
+    else
+        rm -f "$FILE"
+        exit $?
+    fi
+}
+
 if [ $# -gt 0 ]; then
     case "$1" in
         --help|-h)
@@ -58,6 +81,8 @@ if [ $# -gt 0 ]; then
             echo "    $CMD"
             echo "    echo hi | $CMD"
             echo "        Upload file from standard input."
+            echo "    $CMD (--screenshot|-s)"
+            echo "        Select a window or an area of your screen, and upload it as png."
             echo "    $CMD (--delete|-d) ${LINK}xd42"
             echo "    $CMD (--delete|-d) xd42"
             echo "        Delete file or shortened link."
@@ -72,6 +97,15 @@ if [ $# -gt 0 ]; then
             done
             exit 0
             ;;
+        --screenshot|-s)
+            shift
+            if [ $# -gt 0 ]; then
+                echo "No arguments expected to --screenshot" >&2
+                exit 1
+            fi
+            screenshot
+            exit 0
+            ;;
         *)
             for url in "$@"; do
                 link "$url"