xfce4-screenshooter Preferences |
---|
Custom actions can be added, removed and editing in the Preferences dialog.
Custom actions are composed of:
%f
as parameter.The following examples assume the necessary dependencies are already installed.
gimagereader-gtk %f
Save the following script somewhere and set as command: <somewhere>/read-qr.sh %f
#!/bin/bash RES=$(zbarimg --raw "$1" 2> /dev/null) if [ $? -ne 0 ]; then notify-send -e "No QR Code detected" exit 0 fi ANSWER=$(notify-send -e -A 1="Copy to clipboard" -t 5000 "QR Code detected" "$RES") if [ "$ANSWER" == "1" ]; then echo "$RES" | xclip -selection clipboard fi
Save the following script somewhere and set as command: <somewhere>/imgur-upload.sh %f <CLIENT ID>
For the time being, screenshooter provides its own client id as %imgur_client_id
, in future releases that will be removed, you will need to register at Imgur and obtain your client id.
#!/bin/sh URL='https://api.imgur.com/3/image' SCREENSHOT_PATH=$1 CLIENT_ID=$2 if [ -z "$SCREENSHOT_PATH" ] || [ -z "$CLIENT_ID" ]; then zenity --error --text="Arguments are missing" exit 1 fi #RESPONSE='{"data":{"id":"q9a8Oh4","title":null,"description":null,"datetime":1690124891,"type":"image\/png","animated":false,"width":217,"height":186,"size":593,"views":0,"bandwidth":0,"vote":null,"favorite":false,"nsfw":null,"section":null,"account_url":null,"account_id":0,"is_ad":false,"in_most_viral":false,"has_sound":false,"tags":[],"ad_type":0,"ad_url":"","edited":"0","in_gallery":false,"deletehash":"b0AjSDJjSU4iyhE","name":"","link":"https:\/\/i.imgur.com\/q9a8Oh4.png"},"success":true,"status":200}' #RESPONSE='{"data":{"error":{"code":1003,"message":"File type invalid (1)","type":"ImgurException","exception":[]},"request":"\/3\/image","method":"POST"},"success":false,"status":400}' RESPONSE=$(curl --silent --location "$URL" --header "Authorization: Client-ID $CLIENT_ID" --form "image=@$SCREENSHOT_PATH") STATUS=$(echo "$RESPONSE" | jq -r .status) if [ -z "$STATUS" ] || [ $STATUS -ne 200 ]; then ERROR=$(echo "$RESPONSE" | jq -r .data.error.message) zenity --error --text="Failed to upload screenshot:\n$ERROR" exit 1 fi LINK="https://imgur.com/$(echo "$RESPONSE" | jq -r .data.id).png" DELETE="https://imgur.com/delete/$(echo "$RESPONSE" | jq -r .data.deletehash)" LOG_DIRECTORY="${XDG_DATA_HOME:-$HOME/.local/share}/xfce4" LOG="$LOG_DIRECTORY/xfce4-screenshooter-imgur.log" # Add link to clipboard echo "$LINK" | xclip -selection c # Add links to log mkdir -p "$LOG_DIRECTORY" echo "--- $(date '+%x %X') Link: $LINK Delete: $DELETE" >> "$LOG" # Show dialog with links zenity --info --title="Screenshot uploaded" --text="Link: <a href='$LINK'>$LINK</a> Delete: <a href='$DELETE'>$DELETE</a> Link copied to clipboard. Links stored in: $LOG"