Files
sxmo-utils/scripts/appscripts/sxmo_screenshot.sh
Zach DeCook 96c0846e3e Screenshot: Fix custom directory
Signed-off-by: Peter John Hartman <peterjohnhartman@gmail.com>
2022-07-06 13:26:32 -05:00

76 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
# SPDX-License-Identifier: AGPL-3.0-only
# Copyright 2022 Sxmo Contributors
# title="$icon_cam Screenshot"
# scrot refuses to work with double quotes
# shellcheck disable=SC2016
set -e
exitMsg() {
printf "%s\n" "$1" > /dev/stderr
notify-send "$1"
exit 1
}
commandExists() {
command -v "$1" > /dev/null
}
swayscreenshot() {
commandExists grim || exitMsg "grim command must be available to take a screenshot."
if [ "$1" = selection ]; then
commandExists slurp || exitMsg "slurp command must be available to make a selection."
notify-send "select an area"
set -- grim -g "$(slurp)"
else
set -- grim
fi
"$@" "$FILENAME"
}
xorgscreenshot() {
commandExists scrot || exitMsg "scrot command must be available to take a screenshot"
if [ "$1" = "selection" ]; then
notify-send 'select an area'
set -- scrot -d 1 -q 1 -s
else
set -- scrot -d 1 -q 1
fi
"$@" "$FILENAME"
}
screenshot() {
case "$SXMO_WM" in
sway)
swayscreenshot "$@"
;;
dwm)
xorgscreenshot "$@"
;;
*)
exitMsg "We dont know the WM, cannot screenshot."
;;
esac
}
filepathoutput() {
printf %s "$FILENAME"
case "$SXMO_WM" in
sway)
wl-copy "$FILENAME"
;;
dwm)
printf %s "$FILENAME" | xsel -b -i
;;
esac
}
FILENAME="${SXMO_SCREENSHOT_DIR:-$HOME}/$(date +%Y-%m-%d-%T).png"
screenshot "$@"
filepathoutput