Comandi Rapidi e AppleScript

JPGBoost si integra con gli strumenti di automazione nativi di macOS. È disponibile un'azione nativa in Comandi Rapidi e Spotlight, oltre a un comando compress esposto ad AppleScript e Automator.

Incluso in Free

Questa funzione è disponibile sia in JPGBoost Free sia in Pro. In Free, ogni immagine elaborata rientra nella quota giornaliera: 50 immagini al giorno e 5 MB per file. JPGBoost Pro rimuove entrambi i limiti.

Due modi per automatizzare

JPGBoost espone due interfacce di automazione native di macOS. Entrambe funzionano come elaborazione indipendente: ricevono file e impostazioni come input, restituiscono file compressi come output, e sono indipendenti dalla lista attualmente aperta nella finestra dell'applicazione.

  • App Intents per l'app Comandi Rapidi e Spotlight.
  • AppleScript per osascript, l'Editor Script e Automator.

L'applicazione non deve essere aperta

Questa è la principale differenza rispetto all'API locale e alle cartelle monitorate, che richiedono entrambe che l'applicazione sia già in esecuzione.

Sia tramite un'azione di Comandi Rapidi sia tramite il comando AppleScript compress, macOS riapre JPGBoost automaticamente non appena arriva una richiesta, come qualsiasi altra applicazione con supporto per gli script. Non devi fare nulla, anche se avevi chiuso esplicitamente l'applicazione in precedenza.

Cosa aspettarsi

L'unico effetto visibile è un lieve ritardo, il tempo necessario per l'apertura, quando l'applicazione non era già aperta. Terminata l'elaborazione, resta aperta: macOS non la chiude automaticamente.

L'azione «Comprimi immagini»

L'azione appare automaticamente nell'app Comandi Rapidi, nella categoria JPGBoost, non appena l'applicazione è stata aperta una volta. Non è richiesta alcuna configurazione.

  1. Apri l'app Comandi Rapidi e crea un comando.
  2. Aggiungi un'azione che fornisca dei file, ad esempio Seleziona File o Ottieni Contenuto Cartella.
  3. Aggiungi l'azione Comprimi immagini di JPGBoost.
  4. Compila i parametri che desideri. Quelli lasciati vuoti possono essere completati da un profilo di esportazione.
  5. Concatena un'altra azione successivamente, se necessario: l'azione restituisce i file compressi.
ParametroFunzioneObbligatorio
Input FilesLe immagini da comprimere
Output FormatFormato di output desideratoNo
QualityQualità da 1 a 100No
Export ProfileNome di un profilo di esportazione esistenteNo
Destination FolderCartella di output (vedi l'avviso sotto)No

Il campo «Destination Folder»

Limitazione nota dell'app Comandi Rapidi

Questo è il punto che genera più confusione. Il campo Destination Folder è difficile da compilare correttamente dall'editor di comandi. La soluzione affidabile consiste nel passare attraverso un profilo di esportazione.

Questo campo si aspetta un riferimento di cartella reale in formato URL, cioè un percorso che inizi con file:// (ad esempio file:///Users/io/Downloads/), e non testo semplice. I seguenti metodi falliscono con un errore Invalid URL:

  • scrivere un percorso a mano, ad esempio /Users/io/Downloads;
  • trascinare una cartella dal Finder nel campo, che vi deposita solo testo semplice.

L'editor di Comandi Rapidi di macOS non offre inoltre alcuna azione nativa del tipo «Scegli una Cartella» che permetta di costruirne uno in altro modo.

Caso 1: nessun comando da costruire

Una volta che JPGBoost è stato aperto almeno una volta, la frase generica che dichiara essa stessa («Comprimi immagini con JPGBoost», «Comprimi con JPGBoost») viene riconosciuta direttamente da Spotlight, senza mai aprire l'app Comandi Rapidi.

Questa invocazione diretta trasmette solo i file selezionati. Nessun altro parametro viene fornito, il che provoca l'errore «Cartella di destinazione mancante» finché la configurazione seguente non è stata effettuata.

Perché questa invocazione funzioni:

  1. In JPGBoost, apri Impostazioni → Profili e imposta un profilo come profilo predefinito, con una cartella di destinazione configurata.
  2. Nel Finder, seleziona le immagini da comprimere.
  3. Premi ⌘Spazio, poi digita «Comprimi immagini».

JPGBoost completa quindi automaticamente i parametri mancanti a partire dal profilo predefinito, inclusi la cartella di destinazione, il formato e la qualità.

Non è necessario alcun comando nell'app Comandi Rapidi.

Caso 2: con un comando costruito

Questo caso è utile quando servono più comportamenti disponibili sotto nomi distinti. Ad esempio, «Comprimi su Scrivania» può usare un profilo, mentre «Comprimi su Archivio» ne usa un altro. Il profilo predefinito del caso 1 gestisce un solo comportamento alla volta.

  1. In JPGBoost, apri Impostazioni → Profili e crea un profilo con una cartella di destinazione, selezionata con il selettore nativo dell'applicazione.
  2. Nell'app Comandi Rapidi, crea un nuovo comando e assegnagli un nome chiaro, ad esempio «Comprimi su Scrivania».
  3. Nell'azione JPGBoost del comando, compila solo Export Profile con il nome del profilo da usare. Lascia Destination Folder vuoto: la cartella impostata nel profilo verrà usata automaticamente.
  4. Il comando è quindi direttamente disponibile in Spotlight con il nome che gli hai assegnato, al posto della frase generica dichiarata da JPGBoost.

Spotlight

L'azione è accessibile anche da Spotlight. Le frasi di attivazione, del tipo «Comprimi immagini con JPGBoost», sono tradotte nelle quindici lingue supportate.

Lingua di visualizzazione

Il titolo dell'azione, la sua descrizione, i suoi parametri e i suoi messaggi di errore seguono la lingua dello strumento che li presenta (Comandi Rapidi o Spotlight), indipendentemente dalla lingua scelta per la finestra stessa di JPGBoost.

AppleScript

Il comando compress si usa come quello di qualsiasi altra applicazione con supporto per gli script.

tell application "JPGBoost"
    compress {"/percorso/verso/immagine1.png", "/percorso/verso/immagine2.jpg"} ¬
        to "/percorso/di/output" format "webp" quality 80
end tell

I parametri to, format e quality sono opzionali. Il parametro profile può sostituirli, oppure completare ciò che non coprono, esattamente come --profile nella riga di comando.

tell application "JPGBoost"
    compress {"/percorso/verso/immagine.png"} profile "Web JPEG"
end tell

Il comando restituisce una stringa JSON: un oggetto per file, con i campi path, originalSizeBytes, compressedSizeBytes, ratio, destination e error. È la stessa forma dell'output --json della CLI e delle risposte dell'API locale.

Dal Terminale

osascript -e 'tell application "JPGBoost" to compress {"/percorso/immagine.png"} profile "Web JPEG"'

Da Automator

Usa l'azione Esegui Script AppleScript e incolla al suo interno lo stesso blocco tell. Puoi così creare un servizio accessibile dal menu contestuale del Finder.

Permesso di «Automazione»

Un solo permesso da concedere

La prima volta, macOS mostra il suo consueto avviso di permesso di «Automazione»: l'applicazione che invia il comando (Editor Script, Automator o Comandi Rapidi) vuole controllare JPGBoost. Fai clic su Consenti. Questo permesso viene richiesto una sola volta.

Risoluzione dei problemi

SintomoCausaSoluzione
Invalid URL nella cartella di destinazioneIl campo ha ricevuto testo invece di un riferimento di cartellaUsa un profilo di esportazione con cartella di destinazione e lascia il campo vuoto
L'azione non appare nell'app Comandi RapidiL'applicazione non è mai stata apertaApri JPGBoost una volta e riapri Comandi Rapidi
L'azione fallisce con un messaggio di quotaLa quota giornaliera di JPGBoost Free è esaurita (50 immagini), oppure un file supera 5 MBAttendi l'azzeramento di mezzanotte, oppure passa a JPGBoost Pro per rimuovere entrambi i limiti
Il comando AppleScript restituisce un errorePermesso di Automazione negatoVerifica Impostazioni di Sistema → Privacy e Sicurezza → Automazione. Un rifiuto dovuto alla quota Free non interrompe il lotto: viene segnalato file per file nel JSON restituito