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.
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.
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.
- Apri l'app Comandi Rapidi e crea un comando.
- Aggiungi un'azione che fornisca dei file, ad esempio Seleziona File o Ottieni Contenuto Cartella.
- Aggiungi l'azione Comprimi immagini di JPGBoost.
- Compila i parametri che desideri. Quelli lasciati vuoti possono essere completati da un profilo di esportazione.
- Concatena un'altra azione successivamente, se necessario: l'azione restituisce i file compressi.
| Parametro | Funzione | Obbligatorio |
|---|---|---|
| Input Files | Le immagini da comprimere | Sì |
| Output Format | Formato di output desiderato | No |
| Quality | Qualità da 1 a 100 | No |
| Export Profile | Nome di un profilo di esportazione esistente | No |
| Destination Folder | Cartella di output (vedi l'avviso sotto) | No |
Il campo «Destination Folder»
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:
- In JPGBoost, apri Impostazioni → Profili e imposta un profilo come profilo predefinito, con una cartella di destinazione configurata.
- Nel Finder, seleziona le immagini da comprimere.
- 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.
- In JPGBoost, apri Impostazioni → Profili e crea un profilo con una cartella di destinazione, selezionata con il selettore nativo dell'applicazione.
- Nell'app Comandi Rapidi, crea un nuovo comando e assegnagli un nome chiaro, ad esempio «Comprimi su Scrivania».
- 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.
- 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.
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»
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
| Sintomo | Causa | Soluzione |
|---|---|---|
| Invalid URL nella cartella di destinazione | Il campo ha ricevuto testo invece di un riferimento di cartella | Usa un profilo di esportazione con cartella di destinazione e lascia il campo vuoto |
| L'azione non appare nell'app Comandi Rapidi | L'applicazione non è mai stata aperta | Apri JPGBoost una volta e riapri Comandi Rapidi |
| L'azione fallisce con un messaggio di quota | La quota giornaliera di JPGBoost Free è esaurita (50 immagini), oppure un file supera 5 MB | Attendi l'azzeramento di mezzanotte, oppure passa a JPGBoost Pro per rimuovere entrambi i limiti |
| Il comando AppleScript restituisce un errore | Permesso di Automazione negato | Verifica 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 |