xfce4-screenshooter Preferences Window |
---|
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.
#!/usr/bin/env bash 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 if ! command -v jq >&2; then zenity --error --text="jq: command not found!" 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" | \ tee >(zenity --progress --pulsate --no-cancel --auto-close --text="Uploading screenshot...")) 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"
The dialog below will give you the links to delete the image off of the Imgur website. The link will only be shown once. Make sure to save it if you think you might be deleting this image:
Imgur Deletion Dialog Window |
---|