dcav-scripts/screenshot.fish

42 lines
953 B
Fish
Executable File

#! /usr/bin/fish
# Setup
set SCP_USER "jmaa"
set SRT_USER "j"
# Other stuff
set SCP_HOST "strawberry.thedevcave.net"
set SCP_PATH "~/public_html/screenshots"
set HTTP_URL "http://dcav.pw/$SRT_USER"
if count $argv > /dev/null
set FILE_EXT $argv[2]
set TEMP_FILE $argv[1]
else
set FILE_EXT ".png"
set TEMP_FILE "/tmp/screenshot_temp"$FILE_EXT
scrot -u $TEMP_FILE
end
# We generate a unique id, by hashing, hexduming, turning that into
# base64 with '_' instead of '/', and only taking the first 3
# characters.
set LINK (sha256sum -b $TEMP_FILE | xxd -r -p | base64 | sed -e "s:/:_:g" | cut -c-3)
set FILENAME $LINK$FILE_EXT
if count $argv > /dev/null
set LINK $FILENAME
end
function display_message
notify-send $argv
end
if test $TEMP_FILE
echo $HTTP_URL$LINK | xclip -i -sel clip
display_message "Screenshot taken. File accessable at '$HTTP_URL$LINK'"
#
scp $TEMP_FILE "$SCP_USER@$SCP_HOST:$SCP_PATH/$FILENAME"
rm $TEMP_FILE
end