|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
# Take a screenshot with the configured program
|
|
|
|
# Depends: scrot / maim, xdotool / magick, xdotool
|
|
|
|
|
|
|
|
# User-config---------------------------
|
|
|
|
|
|
|
|
# scrot / maim / magick import
|
|
|
|
screenshotter="maim"
|
|
|
|
|
|
|
|
# --------------------------------------
|
|
|
|
|
|
|
|
if [ "$screenshotter" = "scrot" ]; then
|
|
|
|
fullscreen=""
|
|
|
|
selection="--select"
|
|
|
|
activeWindow="--focused"
|
|
|
|
filename="--exec 'mv \$f $CAPTURE'"
|
|
|
|
elif [ "$screenshotter" = "maim" ]; then
|
|
|
|
fullscreen=""
|
|
|
|
selection="--select --hidecursor"
|
|
|
|
activeWindow="--window \$(xdotool getactivewindow)"
|
|
|
|
filename="$CAPTURE/$(date '+%Y-%m-%d-%H%M%S')_maim.png"
|
|
|
|
elif [ "$screenshotter" = "magick import" ] || [ "$screenshotter" = "import" ]; then
|
|
|
|
fullscreen="-window root"
|
|
|
|
selection=""
|
|
|
|
activeWindow="-window \$(xdotool getactivewindow)"
|
|
|
|
filename="$CAPTURE/$(date '+%Y-%m-%d-%H%M%S')_import.png"
|
|
|
|
else
|
|
|
|
echo "Printscreen configuration is invalid"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
options="\
|
|
|
|
Selection
|
|
|
|
Active Window
|
|
|
|
Fullscreen"
|
|
|
|
|
|
|
|
choice="$(echo "$options" | rofi -no-fixed-num-lines -dmenu -i -p "Screenshot")" || exit 0
|
|
|
|
|
|
|
|
# Give Rofi menu time to disappear
|
|
|
|
sleep 0.1
|
|
|
|
|
|
|
|
command="$screenshotter"
|
|
|
|
[ "$choice" = "Selection" ] && command="$command $selection"
|
|
|
|
[ "$choice" = "Active Window" ] && command="$command $activeWindow"
|
|
|
|
[ "$choice" = "Fullscreen" ] && command="$command $fullscreen"
|
|
|
|
command="$command $filename"
|
|
|
|
|
|
|
|
eval "$command"
|