dotfiles/home/.local/bin/scripts/screenshot
2021-07-15 04:37:10 +02:00

64 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
format="Screenshot_%Y%m%d_%H%M%S.png"
destination="~/Pictures/Screenshots/"
clipboard=0
xmonad=0
POSITIONAL=()
while [[ $# -gt 0 ]] ;do
key=$1
case $key in
-c|--clipboard)
clipboard=1
shift
;;
--xmonad)
xmonad=1
shift
;;
-f|--format)
format=$2
shift
shift
;;
-d|--destination)
destination=$2
shift
shift
;;
-e|--exec)
echo "Can't use exec, already used by script"
exit 1
;;
*)
POSITIONAL+=("$1")
shift
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
# Define the base command
cmd="scrot '$format'"
# Handle exec arg for img destination (clipboard/folder)
if [ $clipboard -eq 1 ]; then
cmd+=" -e 'xclip -selection clipboard -t image/png -i \$f && rm \$f'"
else
cmd+=" -e 'mv \$f $destination'"
fi
# For some reason, xmonad can't run this without first sleeping
if [ $xmonad -eq 1 ]; then
cmd="sleep 0.2; $cmd"
fi
# Add user-defined arguments
cmd+=" $@"
# Execute the string command
eval $cmd