diff --git a/bin/boop.sh b/bin/boop.sh new file mode 100755 index 0000000..adb0454 --- /dev/null +++ b/bin/boop.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +remote="https://boop.icu" +sound="${HOME}/.local/share/sounds/success.ogg" + +url=$(curl -F"file=@$1" $remote) +echo "$url" | xsel -ib + +mpv $sound diff --git a/bin/scrot.sh b/bin/scrot.sh index 169b0c7..8058603 100755 --- a/bin/scrot.sh +++ b/bin/scrot.sh @@ -1,12 +1,38 @@ #!/bin/sh +# +# Siina's bootleg screenshot capturer for use with global keybinds +# +# Requires: +# - scrot: takes the screenshot +# - convert: from imagemagick, used to crop single-monitor scrot +# - mpv: plays audio file upon completion +# - boop.sh: uploads screenshot to boop.icu +# +# Example global keybinds: +# +# TYPE CMD KEYBIND +# +# Fullscreen scrot.sh Print +# Current monitor scrot.sh -a Meta+Shift+Print +# Active window scrot.sh -u Meta+Print +# Region scrot.sh -s Meta+Ctrl+Print +# +# TODO: Autodetect mpv and boop.sh to make them optional +# TODO: Figure out how to capture a specific monitor, not just main -dest="$HOME/Screenshots" +screendir="$HOME/Screenshots/" +sound="$HOME/.local/share/sounds/shutter.ogg" +filename="$(date +'%Y%m%d_%H%M%S').png" +resolution="1920x1080" -# Check to make sure destination directory exists -if [ -d "$dest" ]; then - mkdir -p "$dest" +cd $screendir + +if [[ ${1} == "-a" ]]; then + scrot $filename + # Scrot doesn't capture per monitor so we're doing some jiggery + convert -crop 1920x1080\! $filename $filename +else + scrot $1 $filename fi +$HOME/.local/bin/boop.sh "$screendir$filename" -# Unable to use $dest and still need to figure out why -scrot '%Y%m%d-%H.%M.%S_$wx$h.png' $@ -e 'mv $f ~/Screenshots' -