Kurzbefehle und AppleScript
JPGBoost integriert sich mit den nativen Automatisierungswerkzeugen von macOS. Eine native Aktion ist in Kurzbefehle und Spotlight verfügbar, sowie ein compress-Befehl, der AppleScript und Automator zugänglich ist.
Diese Funktion ist sowohl in JPGBoost Free als auch in Pro verfügbar. In Free zählt jedes verarbeitete Bild auf das Tageskontingent: 50 Bilder pro Tag und 5 MB pro Datei. JPGBoost Pro hebt beide Limits auf.
Zwei Wege zur Automatisierung
JPGBoost stellt zwei native macOS-Automatisierungsschnittstellen bereit. Beide funktionieren als unabhängige Verarbeitung: Sie erhalten Dateien und Einstellungen als Eingabe, liefern komprimierte Dateien als Ausgabe, und sind unabhängig von der derzeit im Anwendungsfenster geöffneten Liste.
- App Intents für die App Kurzbefehle und Spotlight.
- AppleScript für
osascript, den Skripteditor und Automator.
Die Anwendung muss nicht geöffnet sein
Dies ist der Hauptunterschied zur lokalen API und den überwachten Ordnern, die beide erfordern, dass die Anwendung bereits läuft.
Ob über eine Kurzbefehle-Aktion oder den AppleScript-Befehl compress, macOS öffnet JPGBoost automatisch wieder, sobald eine Anfrage eintrifft, wie jede andere skriptfähige Anwendung. Du musst nichts tun, selbst wenn du die Anwendung zuvor explizit geschlossen hattest.
Der einzige sichtbare Effekt ist eine leichte Verzögerung, die für das Öffnen benötigte Zeit, wenn die Anwendung noch nicht geöffnet war. Nach Abschluss der Verarbeitung bleibt sie geöffnet: macOS schließt sie nicht automatisch.
Die Aktion „Bilder komprimieren"
Die Aktion erscheint automatisch in der App Kurzbefehle, in der Kategorie JPGBoost, sobald die Anwendung einmal geöffnet wurde. Es ist keine Konfiguration erforderlich.
- Öffne die App Kurzbefehle und erstelle einen Kurzbefehl.
- Füge eine Aktion hinzu, die Dateien liefert, zum Beispiel Dateien auswählen oder Ordnerinhalt abrufen.
- Füge die Aktion Bilder komprimieren von JPGBoost hinzu.
- Fülle die Parameter aus, die du möchtest. Die leer gelassenen können durch ein Exportprofil ergänzt werden.
- Verkette bei Bedarf eine weitere Aktion danach: Die Aktion liefert die komprimierten Dateien zurück.
| Parameter | Funktion | Erforderlich |
|---|---|---|
| Input Files | Die zu komprimierenden Bilder | Ja |
| Output Format | Gewünschtes Ausgabeformat | Nein |
| Quality | Qualität von 1 bis 100 | Nein |
| Export Profile | Name eines bestehenden Exportprofils | Nein |
| Destination Folder | Ausgabeordner (siehe Hinweis unten) | Nein |
Das Feld „Destination Folder"
Dies ist der Punkt, der am meisten Verwirrung stiftet. Das Feld Destination Folder ist schwer aus dem Kurzbefehle-Editor korrekt auszufüllen. Die zuverlässige Lösung besteht darin, ein Exportprofil zu verwenden.
Dieses Feld erwartet eine echte Ordnerreferenz im URL-Format, also einen Pfad, der mit file:// beginnt (zum Beispiel file:///Users/ich/Downloads/), und nicht einfachen Text. Die folgenden Methoden schlagen fehl mit einem Invalid URL-Fehler:
- einen Pfad von Hand eingeben, zum Beispiel
/Users/ich/Downloads; - einen Ordner aus dem Finder in das Feld ziehen, was dort nur einfachen Text ablegt.
Der Kurzbefehle-Editor von macOS bietet zudem keine native Aktion vom Typ „Ordner auswählen" an, mit der man einen anders aufbauen könnte. Die gute Nachricht ist, dass ein von Hand erstellter Kurzbefehl überhaupt nicht erforderlich ist. Es hängt davon ab, was du auslösen möchtest.
Fall 1: kein Kurzbefehl erforderlich
Sobald JPGBoost mindestens einmal gestartet wurde, wird der generische Satz, den die App selbst deklariert („Bilder mit JPGBoost komprimieren", „Mit JPGBoost komprimieren"), direkt von Spotlight erkannt, ohne dass die App Kurzbefehle jemals geöffnet wird.
Dieser unmittelbare Aufruf übergibt nur die ausgewählten Dateien. Kein weiterer Parameter wird bereitgestellt, was den Fehler „Zielordner fehlt" auslöst, solange die folgende Einrichtung nicht durchgeführt wurde.
Damit dieser Aufruf funktioniert:
- Öffne in JPGBoost Einstellungen → Profile und lege ein Profil als Standardprofil fest, mit einem konfigurierten Zielordner.
- Wähle im Finder die zu komprimierenden Bilder aus.
- Drücke
⌘Leertasteund gib dann „Bilder komprimieren" ein.
JPGBoost ergänzt dann automatisch die fehlenden Parameter aus dem Standardprofil, einschließlich Zielordner, Format und Qualität.
In der App Kurzbefehle ist kein Kurzbefehl erforderlich.
Fall 2: mit erstelltem Kurzbefehl
Dieser Fall ist nützlich, wenn mehrere Verhalten unter unterschiedlichen Namen verfügbar sein müssen. Zum Beispiel kann „Auf Schreibtisch komprimieren" ein Profil verwenden, während „In Archiv komprimieren" ein anderes verwendet. Das Standardprofil aus Fall 1 deckt jeweils nur ein Verhalten ab.
- Öffne in JPGBoost Einstellungen → Profile und erstelle ein Profil mit einem Zielordner, ausgewählt über den nativen Auswähler der App.
- Erstelle in der App Kurzbefehle einen neuen Kurzbefehl und gib ihm einen klaren Namen, zum Beispiel „Auf Schreibtisch komprimieren".
- Trage in der Kurzbefehle-Aktion nur Export Profile mit dem Namen des zu verwendenden Profils ein. Lasse Destination Folder leer: Der im Profil festgelegte Ordner wird dann automatisch verwendet.
- Der Kurzbefehl steht dann direkt in Spotlight unter dem von dir vergebenen Namen zur Verfügung, anstelle der von JPGBoost deklarierten generischen Phrase.
Spotlight
Die Aktion ist auch über Spotlight zugänglich. Die Aktivierungssätze, wie „Bilder mit JPGBoost komprimieren", sind in die fünfzehn unterstützten Sprachen übersetzt.
Der Titel der Aktion, ihre Beschreibung, ihre Parameter und ihre Fehlermeldungen folgen der Sprache des Werkzeugs, das sie darstellt (Kurzbefehle oder Spotlight), unabhängig von der für das JPGBoost-Fenster selbst gewählten Sprache.
AppleScript
Der Befehl compress wird wie der jeder anderen skriptfähigen Anwendung verwendet.
tell application "JPGBoost"
compress {"/pfad/zu/bild1.png", "/pfad/zu/bild2.jpg"} ¬
to "/pfad/zur/ausgabe" format "webp" quality 80
end tell
Die Parameter to, format und quality sind optional. Der Parameter profile kann sie ersetzen oder ergänzen, was sie nicht abdecken, genau wie --profile in der Kommandozeile.
tell application "JPGBoost"
compress {"/pfad/zu/bild.png"} profile "Web JPEG"
end tell
Der Befehl liefert eine JSON-Zeichenkette zurück: ein Objekt pro Datei, mit den Feldern path, originalSizeBytes, compressedSizeBytes, ratio, destination und error. Es ist dieselbe Form wie die --json-Ausgabe der CLI und die Antworten der lokalen API.
Vom Terminal aus
osascript -e 'tell application "JPGBoost" to compress {"/pfad/bild.png"} profile "Web JPEG"'
Von Automator aus
Verwende die Aktion AppleScript ausführen und füge dort denselben tell-Block ein. So kannst du einen Dienst erstellen, der über das Kontextmenü des Finder zugänglich ist.
Erlaubnis für „Automatisierung"
Beim ersten Mal zeigt macOS seinen üblichen „Automatisierung"-Erlaubnishinweis: Die Anwendung, die den Befehl sendet (Skripteditor, Automator oder Kurzbefehle), möchte JPGBoost steuern. Klicke auf Erlauben. Diese Erlaubnis wird nur einmal abgefragt.
Fehlerbehebung
| Symptom | Ursache | Lösung |
|---|---|---|
| Invalid URL beim Zielordner | Das Feld hat Text statt einer Ordnerreferenz erhalten | Verwende ein Exportprofil mit Zielordner und lasse das Feld leer |
| Die Aktion erscheint nicht in der App Kurzbefehle | Die Anwendung wurde nie geöffnet | Öffne JPGBoost einmal und öffne Kurzbefehle erneut |
| Die Aktion schlägt mit einer Kontingent-Meldung fehl | Das Tageskontingent von JPGBoost Free ist erreicht (50 Bilder), oder eine Datei ist größer als 5 MB | Warte auf die Rücksetzung um Mitternacht, oder wechsle zu JPGBoost Pro, um beide Limits aufzuheben |
| Der AppleScript-Befehl liefert einen Fehler zurück | Automatisierungserlaubnis verweigert | Überprüfe Systemeinstellungen → Datenschutz und Sicherheit → Automatisierung. Eine Ablehnung wegen des Free-Kontingents bricht den Stapel dagegen nicht ab: Sie wird Datei für Datei im zurückgegebenen JSON gemeldet |