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"