| 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>, you 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 |
|---|
|