mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2024-12-27 05:34:35 +00:00
64 lines
1.2 KiB
Plaintext
64 lines
1.2 KiB
Plaintext
|
#!/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
|