Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
apps:xfce4-screenshooter:custom-actions [2025/01/15 23:11] – Add summary of custom action and note re:imgur terms of service kevinbowenapps:xfce4-screenshooter:custom-actions [2025/02/15 12:52] (current) – [Hosting on Imgur™] Update about client id andreldm
Line 68: Line 68:
  
  
-Save the following script somewhere and set as command: ''<somewhere>/imgur-upload.sh %f <CLIENT ID>'' +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.
-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.+
  
 <code> <code>
-#!/bin/sh+#!/usr/bin/env bash
  
 URL='https://api.imgur.com/3/image' URL='https://api.imgur.com/3/image'
Line 80: Line 79:
 if [ -z "$SCREENSHOT_PATH" ] || [ -z "$CLIENT_ID" ]; then if [ -z "$SCREENSHOT_PATH" ] || [ -z "$CLIENT_ID" ]; then
     zenity --error --text="Arguments are missing"     zenity --error --text="Arguments are missing"
 +    exit 1
 +fi
 +
 +if ! command -v jq >&2; then
 +    zenity --error --text="jq: command not found!"
     exit 1     exit 1
 fi fi
Line 85: Line 89:
 #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":{"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='{"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")+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) STATUS=$(echo "$RESPONSE" | jq -r .status)