#! /usr/bin/fish # Setup set SCP_USER "jmaa" set SRT_USER "j" # Other stuff set SCP_PORT "35284" set SCP_HOST "users.guava.space" 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'" # set -l msg (scp -o ConnectTimeout=1 -P $SCP_PORT $TEMP_FILE "$SCP_USER@$SCP_HOST:$SCP_PATH/$FILENAME" 2>&1) if test $status -eq 0 rm $TEMP_FILE else display_message "Error occured when attempting to upload screenshot to dcav. File saved into '$TEMP_FILE'. Please see error-message: $msg" end end